she*_* me 3 c# mysql mysql-connector
我想知道如何使用C#获取查询的记录计数.
这是我使用的代码..
MySqlDataReader recordset = null;
query = new MySqlCommand("SELECT * FROM test ORDER BY type_ID ASC", this.conn);
recordset = query.ExecuteReader();
while (recordset.Read())
{
result.Add(recordset["type_ID"].ToString());
}
return result;
Run Code Online (Sandbox Code Playgroud)
我正在使用a SELECT COUNT(*)并期望int将其退回.您可能需要这样才能获得可用的值:
mysqlint = int.Parse(query.ExecuteScalar().ToString());
Run Code Online (Sandbox Code Playgroud)
有几件事...
您将使用的 SQL 语句是:
SELECT COUNT(*) FROM 测试
但是,当使用MySQL Connector/Net通过 C# 连接到 MySQL 时,在处理查询结果时需要注意一些问题。
例如,正如在这个问题中所引用的那样,并且在Microsoft Connect 上 int.Parse("0")等效地称为Int32.Parse("0")可以FormatException在某些机器上抛出一个。
我发现它可以Convert.ToInt32很好地处理这种情况。
所以你的代码将是这样的:
using (var conn = new MySqlConnection(cs))
{
conn.Open();
using (var cmd = new MySqlCommand("SELECT COUNT(*) FROM test", conn))
{
int count = Convert.ToInt32(cmd.ExecuteScalar());
return count;
}
}
Run Code Online (Sandbox Code Playgroud)
请记住使用using 语句以确保正确处理 MySQL 对象。
| 归档时间: |
|
| 查看次数: |
25279 次 |
| 最近记录: |