C# 如何使用SqlDataReader读取行计数
我遇到了一个返回行数的存储过程,但不确定如何读取此处的行数 存储过程是:C# 如何使用SqlDataReader读取行计数,c#,sql,stored-procedures,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_E
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())
{
不知道下一步该做什么试试看
int rows = 0;
if(rdr1.Read()) {
rows = (int) rdr1["Rows"];
}
如果您只重新调整单个值,我建议您使用当您从进程返回单个值时,使用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());
int rowCount=dataReader.Cast().Count();
您想为此使用读卡器的具体原因是什么?可以使用sql命令和输出参数来代替。
SqlCommand cmd1 = new SqlCommand("Document_Exists", conn);
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.Add(new SqlParameter("@Url", url));
int rows = Convert.ToInt32(cmd.ExecuteScalar());
int rowCount = dataReader.Cast<object>().Count();