phpmyadmin MySQL获取值

iecba09b  于 2022-11-09  发布在  PHP
关注(0)|答案(1)|浏览(173)

从昨天开始我就在尝试获取这个值(见图片),我已经尝试使用“mysqlreader,executescalar和更多”,但是我无法获得行数。
我想做的是:
如果结果为0,则不执行任何操作;如果等于1,则必须显示图像;如果大于1,则必须显示另一个图像

ex code 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
ex code 3

新编辑:

实际上,出现了6条线。
phpmyadmin

vktxenjb

vktxenjb1#

这里的问题是您使用的是HasRows。由于您使用的是SELECT COUNT(*),因此您将始终有一行包含计数,即使计数为零。您可以使用以下命令:

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

相关问题