搜尋

首頁  >  問答  >  主體

取得MySQL的值

從昨天開始,我試圖取得這個值(見圖),我嘗試使用“mysqlreader、executescalar 等”,但我無法取得行數。

我想做的是這樣的:

# 如果結果為 0,則不執行任何操作;如果等於 1,則必須顯示一幅圖像;如果大於 1,則必須顯示另一個圖像

private void patient()
{
    if (OpenEventMissionData.Rows.Count != 0)
    {
        foreach (DataGridViewRow row in OpenEventMissionData.Rows)
        {
            string idevent = row.Cells[1].Value.ToString();
            string sql = "SELECT COUNT(*) FROM patient INNER JOIN event WHERE patient.ID_EVENT = " + "'" + idevent + "'" + "AND evento.EVENT_OPEN = 1;";

            MySqlConnection connection = new MySqlConnection();
            connection.ConnectionString = ConfigurationManager.ConnectionStrings["dbx"].ConnectionString;
            MySqlCommand cmd = new MySqlCommand(sql, connection);
            connection.Open();
            MySqlDataReader reader = cmd.ExecuteReader();
            if (reader.HasRows)
            {   
                DataGridViewButtonColumn patient = new DataGridViewButtonColumn();
                OpenEventMissionData.Columns.Add(new PatientColumn());
            }
        }
    }
}

我嘗試添加告訴我@oldDog的程式碼,但結果始終是6

新編輯:

#實際上出現了 6 行。

P粉323374878P粉323374878259 天前542

全部回覆(1)我來回復

  • P粉668146636

    P粉6681466362024-04-07 12:44:55

    您的問題是您正在使用 HasRows。由於您正在執行 SELECT COUNT(*),因此即使計數為零,您也將始終有一行包含計數。相反,您可以使用:

    if (Convert.ToInt32(reader[0]) > 0)

    回覆
    0
  • 取消回覆