c# - 如何使用 SqlDataReader 读取行数

标签 c# sql stored-procedures

我遇到了一个返回行数的存储过程,但我不确定如何在这里读取行数,

存储过程是:

CREATE PROCEDURE [dbo].[Document_Exists]
(
    @Url varchar(255)
)
AS
    SET NOCOUNT ON;

    SELECT COUNT(*) AS Rows 
    FROM Document_Instances 
    WHERE Url = @Url

执行为

EXEC @return_value = [dbo].[Document_Exists]
     @SourceSiteUrl = N'https://cc23.dev.com/portal'

SELECT 'Return Value' = @return_value

尝试用这段代码读取它

SqlCommand cmd1 = new SqlCommand("Document_Exists", conn);
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.Add(new SqlParameter("@Url", url));
SqlDataReader rdr1 = cmd.ExecuteReader();

while (rdr1.Read())
{

不知道接下来要做什么

最佳答案

当您从 proc 返回单个值时,使用 SqlDataReader 的重点在哪里?

SqlCommand cmd1 = new SqlCommand("Document_Exists", conn); 
cmd1.CommandType = CommandType.StoredProcedure; 
cmd1.Parameters.Add(new SqlParameter("@Url", url)); 
int rows = Convert.ToInt32(cmd.ExecuteScalar()); 

关于c# - 如何使用 SqlDataReader 读取行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11689875/

相关文章:

c# - 使用 asp.net 使某些项目在下拉列表中无法选择?

c# - 为什么 chromedriver 在所有运行时都重新下载 adblock 扩展?

mysql - SQL存储过程删除表中的所有行

c# - 匹配不同捕获组中的数字字符串

c# - XML 格式错误

sql - Oracle:返回仅包含数字值的行的 SQL 查询

c# - 使用 Microsoft.SqlServer.Management.Smo 从 StoredProc 获取结果列而不执行它

sql - WHERE ALL 没有按预期工作

entity-framework - 存储过程和 EF 代码优先

sql-server - t-sql存储过程创建脚本