0
非常感谢您为我的应用程序中的一个错误提供一些帮助,这些错误令我困惑!SQL SELECT COUNT(*)有时会返回数据
我检查中包含的人的,将personId我期待了使用表格的行数:
cmd.commandtext = "SELECT Count (*) from PeopleDetails where PersonID = '11111'"
count = cmd.executescalar()
这个工程的98%的时间。 偶尔计数变量有被查询的行的第一列的数据,这是表中称为rowid的GUID。它没有满足条件的行数的预期整数。连接处于活动状态,如果查询重复,则返回正确的计数值。
当服务器是早上最繁忙的第一件事情时,对数据库有多个同时查询时,可以看到这种情况。
最受欢迎的帮助!
SQL server 2003,vb.net
感谢您的期待!
你有没有其他的SQL语句在相同的方法,cmd.commandtext可能返回第一列? – Adil 2015-03-13 12:56:15
这不是你的真实代码。你如何传递PersonID值?还有其他几行代码与db进行交互?请显示更多的上下文。有了这么几行代码,就没有可能获得记录的行为 – Steve 2015-03-13 13:00:41
您是否为每个命令创建了一个新的'SqlConnection'?这看起来像你正在重复使用来自多个线程的相同的'SqlConnection'。 – Luaan 2015-03-13 13:07:17