gpt4 book ai didi

c# ExecuteNonQuery 总是返回零

转载 作者:行者123 更新时间:2023-11-30 14:38:35 25 4
gpt4 key购买 nike

我认为连接没有问题,因为当我打开它时,它不会抛出任何错误。所以我猜错误是在我执行命令时出现的。这是我的代码:

OleDbCommand cmd = new OleDbCommand("SELECT * FROM cars", conn);
cmd.CommandType = CommandType.Text;
int numbers = cmd.ExecuteNonQuery();

我尝试使用消息框来显示 numbers 的值,但结果始终为 0。table cars 包含 5 条记录。那么为什么我没有得到正确的结果呢?..

最佳答案

致匿名投票者,OP 的关键部分:

I tried using a message box to display the value of numbers but the result is always 0. The table cars contains 5 records. So why am I not getting the correct results?..

OP 显然是在尝试获取表中的记录数(标量聚合),而不是所有表数据。

我的回答:

那是因为您的查询返回的是表而不是标量值,并且您调用的函数不正确。您的查询应该是:

"SELECT COUNT(*) FROM cars"

并且 ExecuteNonQuery 实际上并不期望返回任何结果。 (您通常使用 ExecuteNonQuery 运行插入、更新和删除操作。)您应该使用 ExecuteScalar它需要一个单值结果,例如 count(*)。

现在在一起:

OleDbCommand cmd = new OleDbCommand("SELECT count(*) FROM cars", conn);
cmd.CommandType = CommandType.Text;
int numbers = cmd.ExecuteScalar();

关于c# ExecuteNonQuery 总是返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770541/

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