获取MySQL的值
P粉323374878
P粉323374878 2024-04-06 14:45:26
0
1
548

从昨天开始,我试图获取这个值(见图),我尝试使用“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粉323374878
P粉323374878

全部回复(1)
P粉668146636

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

if (Convert.ToInt32(reader[0]) > 0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板