MySql获取行数

MTA*_*MTA 5 .net c# mysql

我尝试从表中获取行数:

        string commandLine = "SELECT COUNT(*) FROM client";

        using (MySqlConnection connect = new MySqlConnection(connectionStringMySql))
        using (MySqlCommand cmd = new MySqlCommand(commandLine, connect))
        {
            connect.Open();

            int count = (int)cmd.ExecuteScalar();

            return count;
        }
Run Code Online (Sandbox Code Playgroud)

我得到了例外:

Specified cast is not valid.
Run Code Online (Sandbox Code Playgroud)

知道我怎么解决它?

MDM*_*lik 15

试试这个

using (MySqlCommand cmd = new MySqlCommand(commandLine, connect))
{
    connect.Open();
    return Convert.ToInt32(cmd.ExecuteScalar());
}
Run Code Online (Sandbox Code Playgroud)

  • +1 - 我相信MySQL服务器中的`COUNT`函数默认返回一个long(BIGINT),这是从ExecuteScalar返回的.假设该表的行数少于20亿,这应该是安全的. (2认同)