您的位置:首页 > 编程语言 > C#

C#获取存储过程的返回值

2008-07-05 10:48 183 查看
存储过程的方法,使我在添加数据中走了不少的弯路,最近,在查阅了大量的资料之后,终于在微软的一个实例中找到了一种良好的方法。

首先编写好一有返回值的存储过程

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 --返回是否成功添加数据
字串6

end

else

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(); 字串6

此处是引用输出参数,如果要引用返回值(是否成功添加数据)则只需把ParamenterDirection的类型改为returnvalue;再自己改一个参数名就可以了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: