Holen Sie sich den Wert von MySQL
P粉323374878
P粉323374878 2024-04-06 14:45:26
0
1
483

Seit gestern versuche ich, diesen Wert zu ermitteln (siehe Bild), ich habe versucht, „mysqlreader,executescalar usw.“zu verwenden, aber ich kann die Anzahl der Zeilen nicht ermitteln.

Was ich tun möchte, ist Folgendes:

Wenn das Ergebnis 0 ist, muss nichts unternommen werden. Wenn es gleich 1 ist, muss ein Bild angezeigt werden. Wenn es größer als 1 ist, muss ein anderes Bild angezeigt werden

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());
            }
        }
    }
}

Ich habe versucht, den Code hinzuzufügen, der mir @oldDog sagt, aber das Ergebnis ist immer 6

Neuer Herausgeber:

Eigentlich erscheinen 6 Zeilen.

P粉323374878
P粉323374878

Antworte allen(1)
P粉668146636

您的问题是您正在使用 HasRows。由于您正在执行 SELECT COUNT(*),因此即使计数为零,您也将始终有一行包含计数。相反,您可以使用:

if (Convert.ToInt32(reader[0]) > 0)
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage