Dapatkan nilai MySQL
P粉323374878
P粉323374878 2024-04-06 14:45:26
0
1
461

Sejak semalam saya cuba mendapatkan nilai ini (lihat gambar), saya telah cuba menggunakan "mysqlreader, executescalar, dll."

Apa yang saya mahu lakukan ialah ini:

Jika hasilnya 0, jangan lakukan apa-apa; jika sama dengan 1, imej mesti dipaparkan; jika lebih besar daripada 1, imej lain mesti dipaparkan

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

Saya cuba menambah kod yang memberitahu saya @oldDog tetapi hasilnya sentiasa 6

Editor baharu:

Sebenarnya 6 baris muncul.

P粉323374878
P粉323374878

membalas semua(1)
P粉668146636

Masalah anda ialah anda menggunakan HasRows. Memandangkan anda melakukan SELECT COUNT(*), anda akan sentiasa mempunyai baris yang mengandungi kiraan, walaupun kiraan adalah sifar. Sebaliknya anda boleh menggunakan:

if (Convert.ToInt32(reader[0]) > 0)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!