在使用ado.net的C#中,如何知道SQL Server select存储过程可能返回的行数而不返回结果设置和不更改存储过程?ADO.NET SQL Server select存储过程可能返回的行数
我不想读取数据,我只想要行数,因为负载会消耗大量内存。
在使用ado.net的C#中,如何知道SQL Server select存储过程可能返回的行数而不返回结果设置和不更改存储过程?ADO.NET SQL Server select存储过程可能返回的行数
我不想读取数据,我只想要行数,因为负载会消耗大量内存。
我倒是原本以为.ExecuteNonQuery()会做另一个SQL过程。但由于它不适用于SELECT语句,DataReader可能会是您最好的(最快的)赌注。
int count = 0;
using (var dr = new SqlDataReader(cmd)) {
while (dr.Read()) count++;
}
如果u只是不希望加载结果,创建只返回select Count(*) from etc...
请举例说明如何使用带有参数@ myPrm1,@ myPrm2的sql server 2005和MySP来做到这一点。谢谢。 –
@Yaron复制现有的SP,并用一个单一的Count(*) –
替换选择列表中的所有字段,但我在我的问题中写道“无需更改存储过程”。 –
非常感谢。这是非常好和简单的解决方案。 –