带输出参数的存储过程调用

/*********************************************
 * 项目名称: 
 
 * 存储过程: [funds_User_Add]
 
 * 主要功能: 用于企业注册
 * 主要思路: .....
 * 开发人员: 
 * 开发时间: 
 * 修改人员:
 * 修改时间:
 * 修改内容:
--调试

 GetSql 't_corporation',4
**********************************************/
ALTER PROCEDURE [dbo].[funds_User_Add]
    @code  varchar(20),  --登陆用户名
 @duty  varchar(100),  --注册人职务
    @password  varchar(40),  --密码
    @type  varchar(10),  --类型
    @state  varchar(10),  --状态
    @name  varchar(20),  --联系人
 @dept  varchar(100),    --单位名称
 @phone  varchar(50),  --联系电话
 @handphone  varchar(50),  --联系手机
 @email  varchar(50),  --邮箱
 @cityemail  varchar(50),  --市民邮箱
 @remark  varchar(250),  --备注

    @login  varchar(50),  --t_corporation 法人代码
 @cstate  varchar(10),  --t_corporation状态
 --@returnId int output,
 @strMessage VARCHAR(100) output  --返回信息
 
   
AS
--变量定义
DECLARE @intRetVal int -- 返回值
--DECLARE @intRowcount int
declare @id   int  --用户ID
declare @cid  int    --企业信息表Id
--临时表,表变量定义
--设置初始值
--前检验

--组织数据

SET @intRetVal=0
BEGIN TRANSACTION

select @id= max(id) from t_user
set @id=isnull(@id,0)+1
---往用户表插入信息
INSERT INTO t_user(id,[name],code,duty,password,[type],state,dept,phone,handphone,email,cityemail,remark)
 values(@id,@name,@code,@duty,@password,@type,@state,@dept,@phone,@handphone,@email,@cityemail,@remark)
---往企业表插入信息
select @cid= max(id) from t_corporation
set @cid=isnull(@cid,0)+1

INSERT INTO t_corporation(id,name,login,userid,state,registdt)
 values(@cid,@dept,@login,@id,@cstate,getdate())
if @@error<>0
begin
 set @strMessage='保存出错'
 goto QuitWithRollback
end
COMMIT TRANSACTION


SET @strMessage='保存成功'
GOTO QUIT

QuitWithRollback:
 IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION
 SET @intRetVal = -1

QUIT:
 SELECT @intRetVal intRetVal,@strMessage Message
 RETURN @intRetVal

 

 

//调用

 

 SqlParameter[] parameters = {
     new SqlParameter("@code", SqlDbType.VarChar,20), //登陆用户名
                    new SqlParameter("@duty", SqlDbType.VarChar,100), //注册人职务
     new SqlParameter("@password", SqlDbType.VarChar,40), //密码
     new SqlParameter("@type", SqlDbType.VarChar,10), //类型
     new SqlParameter("@state", SqlDbType.VarChar,10),//状态
                    new SqlParameter("@name", SqlDbType.VarChar,20), //联系人
                    new SqlParameter("@dept", SqlDbType.VarChar,100),//单位名称
                    new SqlParameter("@phone", SqlDbType.VarChar,50), //联系电话
                    new SqlParameter("@handphone", SqlDbType.VarChar,50), //联系手机
                    new SqlParameter("@email", SqlDbType.VarChar,50),
                    new SqlParameter("@cityemail", SqlDbType.VarChar,50),
                    new SqlParameter("@remark", SqlDbType.VarChar,250),

                    new SqlParameter("@login", SqlDbType.VarChar,50),
                 new SqlParameter("@cstate", SqlDbType.VarChar,10),

                 new SqlParameter("@returnId", SqlDbType.Int,4),
                    new SqlParameter("@intRetVal", SqlDbType.Int, 4),
                    new SqlParameter("@strMessage", SqlDbType.VarChar,100)
              
                
     };
        Funds.Tool tool = new Funds.Tool();
        parameters[0].Value = txtUser.Text.Trim();
        parameters[1].Value = txtDuty.Text.Trim();
        parameters[2].Value = tool.getSha1str(this.txtPassWord.Text.Trim());
        parameters[3].Value = "1";
        parameters[4].Value = "0";
        parameters[5].Value = txtname.Text.Trim();
        parameters[6].Value = txtCompanyName.Text.Trim();
        parameters[7].Value = txtPhone.Text.Trim();
        parameters[8].Value = txtHandPhone.Text.Trim();
        parameters[9].Value = txtemail.Text.Trim();
        parameters[10].Value = txtCityEmail.Text.Trim();
        parameters[11].Value = txtRemark.Text.Trim();

        parameters[12].Value = txtLogin.Text.Trim();
        parameters[13].Value = "-1";

        parameters[14].Direction = ParameterDirection.Output;
        parameters[15].Direction = ParameterDirection.ReturnValue;
        parameters[16].Direction = ParameterDirection.Output;

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值