呼叫儲存過程並且使用返回值的基本方法

2022-03-24 03:42:33 字數 1338 閱讀 5005

一直沒有找到一種好的方法來引用有返回值的儲存過程的方法,使我在新增資料中走了不少的彎路,最近,在查閱了大量的資料之後,終於在微軟的乙個例項中找到了一種良好的方法。

首先編寫好一有返回值的儲存過程

create procedure proc_name

@para1 nchar(20),    --輸入引數

@para2 int = null out --輸出引數,供程式使用

as set nocount on

if ( not exists (select * from employee where em_name=@para1))

begin

insert into employee(name) values(@para1)  

select @para2=@@identity      --返回新增記錄的id

return 1                                --返回是否成功新增資料

endelse

return 0                               --返回失敗

go然後是呼叫儲存過程的方法

sqlcommand command;

command = new sqlcommand(proc_name,new sqlconnection(connectionstr));

command.paraments.add("@para1"),"name1");  //輸入引數,職員姓名

command.paraments.add(new sqlparament("@para2",   //生成一輸出引數

sqldbtype.int;             //引數資料型別

paramenterdirection.output,      //輸入輸出型別

0,0,

string.emplty,

datarowverstion.default,

null)                 //引數值,輸入引數時需提供

);command.commandtype=commandtype.storedprocedure;

command.connection.open();

command.executenonquery();

int pkid=(int)command.parameters["@para2"].value;  //得到輸出引數的值

command.connection.close();

此處是引用輸出引數,如果要引用返回值(是否成功新增資料)則只需把paramenterdirection的型別改為returnvalue;再自己改乙個引數名就可以了.

呼叫儲存過程並且使用返回值的基本方法

儲存過程的方法,使我在新增資料中走了不少的彎路,最近,在查閱了大量的資料之後,終於在微軟的乙個例項中找到了一種良好的方法。首先編寫好一有返回值的儲存過程 create procedure proc name para1 nchar 20 輸入引數 para2 int null out 輸出引數,供程...

呼叫儲存過程並且使用返回值的基本方法

一直沒有找到一種好的方法來引用有返回值的儲存過程的方法,使我在新增資料中走了不少的彎路,最近,在查閱了大量的資料之後,終於在微軟的乙個例項中找到了一種良好的方法。首先編寫好一有返回值的儲存過程 create procedure proc name para1 nchar 20 輸入引數 para2 ...

C 呼叫儲存過程返回值

c 源 1 2 校驗使用者 3 4 使用者資訊 5 6public static intverifyuser clsuser user 7 user.username,user.password 執行的t sql串 10sqlcommand scmd new sqlcommand sql,conn ...