首页 > 解决方案 > 如何使用 MySqlDataReader 计算数据库的行数?

问题描述

我试图弄清楚如何查询 MySql 数据库它有多少行以及数据库中的每一行我想将一个整数添加到 ID 列表中。当我知道我有更多行时,当我运行此代码时,我只返回 1 行,我不知道如何很好地使用 DataReader 关于如何简单地计算出数据库中的行数的任何建议将不胜感激。

    MySqlConnection Conn = new MySqlConnection(myConnectionString);
    MySqlDataReader mdr;
    public static List<int> AppointmentIDList = new List<int>();

    public void FillList()
    {
        Conn.Open();
        string Query = "SELECT * FROM U05lUM.appointment;";
        MySqlCommand command = new MySqlCommand(Query, Conn);
        mdr = command.ExecuteReader();
        if (mdr.Read())
        {
            if (mdr.HasRows)
            {
                foreach(int id in mdr.GetInt32("appointmentId").ToString())
                {

                    AppointmentIDList.Add(id);

                }
            }
        }
    }

标签: c#mysqldatabasewinforms

解决方案


您可以使用另一个查询。查询可能是

MySqlCommand command = new MySqlCommand("Select Count(*) FROM U05lUM.appointment;", Conn);
Conn.Open()
int rows = Convert.ToInt32(cmd.ExecuteScalar())
Conn.Close();

这将返回“U05lUM.appointment”数据库中的行数。如果您想进一步计算,您还可以使用一些“WHERE”语句。


推荐阅读