VBA 调用存储过程

VBA调用存储过程

一直没有找到一种好的方法来引用有返回值的存储过程的方法,使我在添加数据中走了不少的弯路,最近,在查阅了大量的资料之后,终于在微软的一个实例中找到了一种良好的方法。首先编写好一有返回值的存储过程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 --返回是否成功添加数据 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();此处是引用输出参数,如果要引用返回值(是否成功添加数据)则只需把ParamenterDirection的类型改为returnvalue;再自己改一个参数名就可以了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值