儲存過程**如下:
alter procedure dbo.testoutput
( @p1 int ,
@p2 int output,
@p3 int
)
as /* set nocount on */
select @p2 = count(*) from testproc where testid between @p1 and @p3
return @@rowcount
這個儲存過程返回2個值,乙個是output型引數@p2,另外乙個是資料庫自帶的return值 @@rowcount(語句所影響的行數)。
c#程式:
sqlcommand com = new sqlcommand( "testoutput" ,con);
com.commandtype = commandtype.storedprocedure;
sqlparameter p1 = new sqlparameter( "@p1" ,sqldbtype.int);
sqlparameter p2 = new sqlparameter( "@p2" ,sqldbtype.int);
sqlparameter p3 = new sqlparameter( "@p3" ,sqldbtype.int);
sqlparameter rowcount = new sqlparameter( "@@rowcount" , sqldbtype.int);
p1.value = int .parse(textbox2.text);
p2.direction = parameterdirection.output; //把p2設定為output型引數
p3.value = int .parse(textbox3.text);
rowcount.direction = parameterdirection.returnvalue; //把rowcount型別設定為returnvalue型
com.parameters.add(p1);
com.parameters.add(p2);
com.parameters.add(p3);
com.parameters.add(rowcount);
com.executenonquery();
messagebox.show(p2.value.tostring()); //執行過儲存過程以後,output引數p2和@@rowcount就自動返回了值。
messagebox.show(rowcount.value.tostring());
儲存過程的使用
sqlparameter parameters parameters 0 value tblname parameters 1 value fldname dbhelpersql.runprocedure up tblname uid delete parameters out i public s...
儲存過程的使用
儲存過程 儲存過程 儲存過程就是提前已經編譯好的一段pl sql語言,放置在資料庫端 可以直接被呼叫。這一段pl sql一般都是固定步驟的業務。給指定員工漲100塊錢 create or replace procedure p1 eno emp.empno type isbegin update e...
儲存過程的使用
儲存過程是乙個預編譯的sql語句,優點是允許模組化的設計,就是說只需建立一次,以後在程式中就可以呼叫多次。可以用乙個 execute 儲存過程名 引數 命令來呼叫儲存過程。優勢 如果某次操作需要執行多次sql,使用儲存過程比單純sql語句執行要快。響應時間上來說有優勢,可以給我們帶來執行效率提高的好...