ASP.NET执行存储过程,并获取存储过程的返回值

ASP.NET执行存储过程,并获取存储过程的返回值

    一个简单例子如下:

      1、创建存储过程(用于用户身份验证):

      Create Procedure CheckUser
    (
     @userid char(20),
     @userpsw char(20)
     )
    as
     if exists(select * from tb_UserInfo where rtrim(UserID)=@userid and rtrim(UserPsw)=@userpsw)
      return 1
     else
      return 0

     2、Asp.net执行代码:

        //连接数据库
        string myStr = ConfigurationManager.AppSettings["connectionstring"].ToString();
        SqlConnection myConn = new SqlConnection(myStr);
        myConn.Open();

        //创建SqlCommand对象
        SqlCommand cmd = new SqlCommand("CheckUser ",myConn);
        cmd.CommandType = CommandType.StoredProcedure;
       

        //添加参数
        SqlParameter Userid = cmd.Parameters.Add("@Userid", SqlDbType.Char);
        SqlParameter Userpsw= cmd.Parameters.Add("@Userpsw", SqlDbType.Char);
        SqlParameter returnvalue = cmd.Parameters.Add("@returnvalue", SqlDbType.Int);
        
        //指定参数是只可输入(Input)、输出(Output)还是返回值(ReturnValue)
        Userid.Direction = ParameterDirection.Input;
        Userpsw.Direction = ParameterDirection.Input;
        returnvalue.Direction = ParameterDirection.ReturnValue;
        
        //为传递给存储过程的参数赋值
        Userid.Value =tbUserName.Text.Trim();
        Userpsw.Value = tbPsw.Text.Trim();

        //执行SQL存储过程
        cmd.ExecuteNonQuery();

        //得到并判断返回值
        if ((int)returnvalue.Value == 1)
        {
            Session["user"] = tbUserName.Text.Trim();
            Response.Write("当前用户:" + Session["user"]);
        }
        else
        {
            Response.Write("用户不存在!");
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值