gpt4 book ai didi

c# - 如何计算 MySqlDataReader 中的行数?

转载 作者:可可西里 更新时间:2023-11-01 07:31:53 29 4
gpt4 key购买 nike

我已经成功地将我的项目从 odbc.datareader 切换到 mysql.datareader。问题是对于第一个/odbc datareader),AffectedRows 属性即使是纯查询也能正确检索行数。但它不适用于 mysql.datareader,然后是 -1。所以我看不到如何检索行数,即“结果 View ”。编辑:我知道它的前向阅读器,但我不明白以下内容:如果在 DBreader=command.ExecuteRader() 行放置一个断点,我可以看到 DBreader 在结果 View 中具有与行一样多的对象应该。怎么跑完就知道了?谢谢

最佳答案

DataReader 不包含行数的原因是它的计算成本非常高。例如,假设您执行一个查询,返回今年输入但未删除的采购订单:

SELECT * FROM PurchaseOrders 
WHERE PurchaseDt > '2009-01-01'
AND IsDeleted = 0

然后您将此查询与 DataReader 一起使用并读出前 10 行。 SQL Server 在请求时将行“流”到客户端。每当您请求另一行时,SQL Server 将执行查询的下一步。因此,在您实际读出所有行之前,即使 SQL Server 也不知道总行数。

关于c# - 如何计算 MySqlDataReader 中的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1733825/

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