使用 SqlCommand.ExecuteNonQuery 而不是 … 的好处

发布于 2024-08-27 00:23:53 字数 429 浏览 6 评论 0原文

a) SqlCommand.ExecuteNonQuery 用于更新、插入和删除操作。 除了使用 ExecuteNonQuery 而不是 ExecuteReader 我们自动知道不会返回任何查询结果之外,还有其他一些好处/原因吗 ExecuteNonQuery<应该使用 /code> 吗?

b) 同样,如果我们希望数据库操作返回单个值,我们应该使用 ExecuteScalar 而不是 ExecuteNonquery ,后者的结果将通过 返回Sql参数。是否有任何特殊原因让我们更喜欢 ExecuteScalar 而不是 ExecuteNonQuery

谢谢

a) SqlCommand.ExecuteNonQuery is used for update, insert and delete operations.
Besides the fact that by using ExecuteNonQuery instead of ExecuteReader we automatically know there won’t be any query results returned, are there some other benefits/reasons why ExecuteNonQuery should be used?

b) Similarly, if we want a database operation to return a single value, we should use ExecuteScalar instead of ExecuteNonquery ,where with the latter result would be returned via SqlParameter. Is there any particular reason why we should prefer ExecuteScalar over ExecuteNonQuery?

thanx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

转角预定愛 2024-09-03 00:23:53

对于第二点...

ExecuteScalar 返回第一行的第一列:整个数据集被传递回客户端。即使数据集恰好是一行和一列,返回数据集的效率仍然低于使用输出/返回参数的效率。

这同样适用于第一点:不处理记录集效率更高。

For the 2nd point...

ExecuteScalar returns 1st column of 1st row: the entire dataset is passed back to the client. Even if the dataset is exactly one row and exactly one column, it's still less efficient to return a dataset than use an output/return parameter

The same applies to the 1st point too: more efficient to not process a recordset.

一腔孤↑勇 2024-09-03 00:23:53

对于第一点...

您已经说过:

we automatically know there won’t be any query results returned

实际上,ExecuteNonQuery 返回受影响的行数,如果您执行查询后的逻辑取决于数据库是否已更改,那么这一点非常重要。

For the 1st point...

You have said:

we automatically know there won’t be any query results returned

Actually, ExecuteNonQuery returns the number of affected rows, which is very important if your logic after executing the query depends on whether the database has been changed or not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文