[英]How to read rows count using SqlDataReader
我遇到了一個返回行數的存儲過程,但我不知道如何在這里讀取行數,
存儲過程是:
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());
嘗試
int rows = 0;
if(rdr1.Read()) {
rows = (int) rdr1["Rows"];
}
int totalRows=0;
if(rdr1.Read())
{
totalRows= rdr1.GetInt32(rdr1.GetOrdinal("Rows"));
}
如果您只重新調整單個值,我建議您使用ExecuteScalar
int rowCount = dataReader.Cast<object>().Count();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.