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