使用c#如何獲取存儲過程輸出的行數?我正在嘗試沒有循環的東西,並沒有在數據庫中使用COUNT(*)。基本上是這樣的:獲取沒有循環的存儲過程的行數
db.Query("storedProcedure").count()
使用c#如何獲取存儲過程輸出的行數?我正在嘗試沒有循環的東西,並沒有在數據庫中使用COUNT(*)。基本上是這樣的:獲取沒有循環的存儲過程的行數
db.Query("storedProcedure").count()
您可以修改存儲過程來輸出行連同其通常總產值如果存儲(微軟SQL服務器語法)
create proc dbo.My_Test
@rows int out
as
-- preparing test data - ignore that
declare @tmp table(id int)
insert into @tmp values(1)
insert into @tmp values(2)
select * from @tmp
select @rows = @@rowcount
程序已經存在,它不'玩'設置nocount on「;你可以檢索數,如:
create proc dbo.My_Test
as
-- preparing test data - ignore that
declare @tmp table(id int)
insert into @tmp values(1)
insert into @tmp values(2)
select * from @tmp
,並呼籲像SP:
declare @rows int
exec dbo.My_Test
select @rows = @@rowcount
-- @rows = 2
如果您獲取數據到DataSet
,然後你可以這樣做:
ds.Tables[0].Rows.Count
http://msdn.microsoft.com/en-us/library/system.data.datatable.rows(v=vs.110).aspx
.Tables[0]
指示返回的第一組結果b您的查詢(如果您的存儲過程中恰好有多個SELECT
語句)。否則它只是指你唯一的結果SELECT
。
這是我的主要觀點。我正在試圖保持這個過程。我不想去修改每個程序。我想嘗試一種方法來獲得否。來自現有過程的行。 –