gpt4 book ai didi

c# - 在 c# 中使用 mysql 时计算受影响的行数

转载 作者:可可西里 更新时间:2023-11-01 07:49:08 26 4
gpt4 key购买 nike

我在 C# 中有一个连接到 MySQL 数据库的 WinForms 项目。我正在尝试计算结果中的行数,我无法使用 RecordsAffected 因为此属性只有在读取完成后才具有正确的值,正如您从下面的代码中看到的那样之前需要它。关于如何执行此操作的任何想法?

string sql = "SELECT * FROM Tigers WHERE Link='" + link + "'";

MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();

while (rdr.Read())
{
if (rdr.RecordsAffected == 0)
{
//can't find in db
}
else
{
//found at least 1 result
}

最佳答案

您可以使用 HasRows 代替:

string sql = "SELECT * FROM Tigers WHERE Link='" + link + "'";

MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();

if(rdr.HasRows){
while (rdr.Read())
{
//do stuff here
}
} else {
//nothing found
}

编辑:如果您不需要读取从数据库中检索的数据,而只需要您可以使用的计数:

cmd.CommandText = "SELECT COUNT(*) FROM Tigers WHERE Link='" + link + "'";
Int32 count = (Int32) cmd.ExecuteScalar();

关于c# - 在 c# 中使用 mysql 时计算受影响的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8299616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com