MySqlDataReader reader = cmd.ExecuteReader();C#获取该结果的数量
时间: 2024-10-21 08:04:21 浏览: 42
当你使用 `MySqlConnection` 和 `SqlCommand` 创建 `SqlDataReader` 并执行命令后,如果你想获取查询结果的数量,你应该在读取数据之前先检查是否有数据可用。你可以通过调用 `DataReader.HasRows` 属性来判断。如果没有数据,或者数据已经读完,这个属性将返回 false。
下面是一个示例,展示了如何获取结果集的行数:
```csharp
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
// 建立连接并执行SQL命令
using (SqlCommand cmd = new SqlCommand(sqlQuery, connection))
{
connection.Open();
// 检查是否有数据
if (cmd.ExecuteReader().HasRows)
{
int rowCount = cmd.ExecuteCommand(CommandType.Text).Rows.Count; // 如果是存储过程则用ExecuteNonQuery()
Console.WriteLine("查询结果有 {0} 条记录", rowCount);
}
else
{
Console.WriteLine("没有查询结果");
}
}
}
```
请注意,如果你确实想获取 `SqlDataReader` 中的具体记录数,应该使用 `ExecuteScalar()` 调用 `COUNT(*)` 或者其他计算行数的函数,而不是直接读取整个结果集。
阅读全文