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

在asp.net中接收sql server中存储过程的返回值

2009-09-23 14:00 429 查看
存储过程代码:

create procedure proc_name
@para1 nchar(20), --输入参数
@para2 int = null output --输出参数,供程序使用
as

begin
if (@para1='a')
begin
insert into employee(name) values(@para1)
select @para2=@@identity --返回添加记录的ID
return 1 --返回是否成功添加数据
end
else
return 0 --返回失败
end

go

在查询分析器中的测试:

declare @id nchar(10)
exec dbo.proc_name 'a',@id output

print @id

在asp.net中调用:

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();

注意红色标注的地方,这在设置参数时很重要。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐