我正在尝试用SQL SqlDataReader来计算行数。由于一些技术上的原因,我不能使用计数器(在前进时增加变量)。这是我的SQL语句:
(SELECT * FROM [Menus] WHERE MenuParent=@ID);
(SELECT COUNT(*) AS rowsCount FROM [Menus] WHERE MenuParent=@ID)这是我的.net代码:
(很简单,C#ers也能理解)
While DR.Read
If Not DR("rowsCount") Is Nothing Then
temp &= DR("rowsCount")
End If
'blah blah
End While它不承认rowsCount。
我怎么了?
整个功能:(我使用自己的类连接到DB) http://pastebin.com/YBZCvvBH
发布于 2013-01-30 19:25:03
好吧,如果您真的想要结果集中的记录计数
可以做到这一点,这似乎是您的查询
select V.rowsCount,* from [Menus]
cross join (select COUNT(*) as rowsCount from [Menus] WHERE MenuParent=@ID)V
WHERE MenuParent=@ID或者就这么做
select COUNT(*) over () as rowsCount
,* from [Menus]
WHERE MenuParent=@ID发布于 2013-01-30 19:12:18
SQL语句返回两个结果集。假设问题中SQL语句的顺序与正在执行的顺序相同,则需要处理第一个查询返回的数据(处理各种菜单选项),然后执行:
DR.NextResult()在试着读伯爵之前。
发布于 2013-01-30 19:12:04
&=https://stackoverflow.com/questions/14611793
复制相似问题