sqlserver資料庫中有引數有返回值的儲存過程

2021-08-10 12:41:07 字數 1569 閱讀 2778

use [

資料庫]

goset ansi_nulls on

goset quoted_identifier on

goalter procedure [dbo].[employeeproc_returnvalue]

(@name nvarchar(20),

@gender nvarchar(20) output)as

begin

select @gender=gender fromemployeewhere name=@name

if @gender='男'

return -1

else

return 0

endsqlserver資料庫中建立的儲存過程如上面的**,注意的還需在資料庫中建立表employee

(示例如下),並寫入幾條記錄,以供儲存過程查詢使用。

c#中的呼叫**如下:

sqlconnection conn = new sqlconnection(conn_string);

if (conn.state != system.data.connectionstate.open)

conn.open();

sqlcommand cmd = new sqlcommand("employeeproc_returnvalue", conn);

cmd.commandtype = commandtype.storedprocedure;

cmd.parameters.addwithvalue("@name", "張三");  //給輸入引數賦值

sqlparameter paroutput = cmd.parameters.add("@gender", sqldbtype.nvarchar, 50);  //定義輸出引數

paroutput.direction = parameterdirection.output;  //引數型別為output

sqlparameter parreturn = new sqlparameter("@return", sqldbtype.int);

parreturn.direction = parameterdirection.returnvalue;   //return返回值,0表示成功                    

cmd.parameters.add(parreturn);

cmd.executenonquery();

messagebox.show(paroutput.value.tostring());   //顯示輸出引數的值

messagebox.show(parreturn.value.tostring());  //顯示返回值

conn.close();

經測試可行。

sql server中查詢資料庫中有哪些表

系統表sysobjects儲存的都是資料庫物件,其中type表示各種物件的型別,具體包括 u 使用者表 s 系統表 c check 約束 d 預設值或 default 約束 f foreign key 約束 l 日誌 fn 標量函式 if 內嵌表函式 p 儲存過程 pk primary key 約束...

sql server 查詢資料庫中有多少個表

select from sysobjects where xtype u select from sysobjects where xtype u select from sysobjects where xtype c select from sysobjects where xtype d se...

sql server 查詢資料庫中有多少個表

select from sysobjects where xtype u select from sysobjects where xtype u select from sysobjects where xtype c select from sysobjects where xtype d se...