MySql获取行数
本文关键字:获取 MySql | 更新日期: 2023-09-27 18:19:54
我试图用以下方法从表中获取行数:
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;
}
我得到了一个例外:
Specified cast is not valid.
知道我该怎么修吗?
试试这个
using (MySqlCommand cmd = new MySqlCommand(commandLine, connect))
{
connect.Open();
return Convert.ToInt32(cmd.ExecuteScalar());
}
using (MySqlCommand cmd = new MySqlCommand(commandLine, connect))
{
connect.Open();
return Convert.ToInt32(cmd.ExecuteScalar());
}
编辑:还要确保处理代码中的异常(例如,如果存在SQL连接错误)。此外,如果它不是COUNT(*)
,则ExecuteScalar()
返回的值可以为null(!)
如果您希望使用强制转换,可以使用:
long count = (long)cmd.ExecuteScalar();
如上所述,MySql中的COUNT返回BIGINT,因此使用int进行强制转换失败。