存储过程实现登录验证
发布时间: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 = ? "登陆失败" ? ; } ??????????????? } ??????????? } ??????? } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |