今天有位朋友問我如何在data access application block中得到存儲的過程的返回值,我才發(fā)現(xiàn)自己以前寫的文章中確實沒提到這方面的問題,現(xiàn)在來補充一下,具體的解決方法如下:
1、首先建立一個具有返回值的存儲過程,作為示例,我就簡單的建一個存儲過程,如下:
create proc test
(
@id int
)
as
declare @flag int
select * from person where [email protected]
if @@rowcount > 0
set @flag=1
else
set @flag=0
return @flag
我們要在程序中獲得這個返回值的方法如下:
[testmethod]
public void testreturnvalue()
{
database db = databasefactory.createdatabase();
dbcommand dbcomm = db.getstoredproccommand("test");
db.addinparameter(dbcomm, "@id", dbtype.int32,1);
//關鍵在這里,添加一個參數(shù),類型為returnvalue
db.addparameter(dbcomm, "@return_value", dbtype.string, parameterdirection.returnvalue, "", datarowversion.current, null);
db.executenonquery(dbcomm);
int testvalue = (int)dbcomm.parameters["@return_value"].value;
assert.areequal(testvalue, 1);
}
通過上面的代碼我們就能夠在程序中獲得存儲過程的返回值了。以前寫的文章可能還有很多地方?jīng)]說到,希望能有更多的朋友提意見,謝謝!
新聞熱點
疑難解答
圖片精選