加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

存储过程实现登录验证

发布时间:2020-12-12 13:57:23 所属栏目:MsSql教程 来源:网络整理
导读:(有传出参数的存储过程) 验证登陆: --存储过程 create ? proc ? pro_dengluyanzheng @username ? varchar ? ( 50 ), @password ? varchar ? ( 50 ), @result ? bit ? out as select ? * ? from ? T_User ? where ? UserName = ? @username ? and ? Passwo
(有传出参数的存储过程) 验证登陆: --存储过程 create ? proc ? pro_dengluyanzheng @username ? varchar ? ( 50 ), @password ? varchar ? ( 50 ), @result ? bit ? out as select ? * ? from ? T_User ? where ? UserName = ? @username ? and ? Password = ? @password if ? @@ROWCOUNT ? > 0 begin set ? @result ? = 1 end else begin set ? @result ? = 0 end go
declare ? @fanhui ? bit exec ? pro_dengluyanzheng ? 'yhzzxcb' , ? '111' , ? @fanhui ? out print ? @fanhui drop ? proc ? pro_dengluyanzheng --程序 ?? protected ? void ? Button1_Click( object ? sender, ? EventArgs ? e) ??????? { ??????????? ? string ? str = ? "data source=NGY-PC;initial catalog=News;user id=sa;pwd=7777777" ? ; //连接字符串 ??????????? ? using ? ( SqlConnection ? conn = ? new ? SqlConnection (str)) ??????????? { ??????????????? conn.Open(); ? //打开连接 ??????????????? ? using ? ( SqlCommand ? cmd = conn.CreateCommand()) //创建命令对象 ??????????????? { ??????????????????
??????????????????? ? string ? sql = ? "pro_dengluyanzheng" ? ; //声明sqlcommand命令对象要执行的是命令过程"pro_dengluyanzheng" ??????????????????? cmd.CommandType = ? CommandType .StoredProcedure; //当要执行的命令是存储过程时要声明下commandType要执行的内容 ??????????????????? cmd.CommandText = sql; ? //执行语句
??????????????????? ? SqlParameter ? par1 = ? new ? SqlParameter ( ? "@username" ,username.Text); //把文本框里的值传给变量 ??????????????????? ? SqlParameter ? par2 = ? new ? SqlParameter ( ? "@password" ,password.Text); ??????????????????? ? SqlParameter ? par3 = ? new ? SqlParameter ( ? "@result" , ? SqlDbType ? .Bit); ??????????????????? par3.Direction = ? ParameterDirection .Output; //写指向指定第三个参数是向外传的值的返回个bit类型的值 ??????????????????? cmd.Parameters.Add(par1); ? //将变量添加到cmd命令对象中传给参数 ??????????????????? cmd.Parameters.Add(par2); ??????????????????? cmd.Parameters.Add(par3); ??????????????????? cmd.ExecuteScalar(); ? //建个变量接收cmd.executenonquery的值 ??????????????????? Response.Write(par3.Value); ??????????????????? ? bool ? b = ? Convert ? .ToBoolean(par3.Value); //得到第三个参数返回来的值 ??????????????????? ? if ? (b) ??????????????????? { ??????????????????????? Label2.Text = ? "登陆成功" ? ; ??????????????????? } ??????????????????? ? else ? { Label2.Text = ? "登陆失败" ? ; } ??????????????? } ??????????? } ??????? }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读