用事物实现登陆

本文介绍如何在ADO.NET中使用存储过程实现用户登录验证功能,包括创建存储过程、通过ADO.NET调用存储过程并获取布尔类型返回值来判断登录是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在ADO中使用存储过程
use UserDB1
select * from T_Users
create proc usp_login
@uname varchar(50),
@password varchar(50),
@result bit output----布尔类型的参数,是用来返回值的,设置存储用户登录是否成功1---true,0------false
as
begin
declare @count int
set @count=( select count(*) from T_Users where FuserName=@uname and Fpassword=@password)
if @count>0
begin
set @result=1
end
else
begin
set @result=0
end
end
declare @r bit
exec usp_Login @uname='admin321232','111',@r output
print @r
print @@servername

btnClick
{ string username=txtUserName.Text.Trin();
string password=txtPassword.Text.Trin();


使用ADO连接数据库
Connection--SqlConnection--连接字符串
Command--SqlCommand
SqlParaneter
SqlDataReader
......

string connstr="Data Source=PC-20120907SDQU;Initial Catalog=UserDbl;User ID=sa; Password=admin"
using(SqlConnection conn=new SqlConnection();)
{
conn.Open();
using(SqlCommand cmd= conn.CreateCommand();)
{string sql="insert into T_Users(FuseName,Fpassword) values('王妃','555')"
cmd.CommandText=sql;
int r=cmd.ExecuteNonQuery();
Label1.Text=r.ToString();
-------------
string sp_name="usp_Login";
//执行sql语句和执行存储过程最大的区别!需要设置一个commandType
cmd.CommandText=CommandType.StoredProcedure;
cmd.CommandText=sp_name;
SqlParameter prm1=new SqlParameter("@uname",username);
SqlParameter prm2=new SqlParameter("@password",password);
SqlParameter prm3=new SqlParameter("@result",System.Data.SqlDbType.Bit);

cmd.Parameters.Add(prm1);
cmd.Parameters.Add(prm2);
cmd.Parameters.Add(prm3);
prm3.Direction=ParameterDirection.Output;

//int r=cmd.ExecuteNonQuery();
//object obj=cmd.ExecuteNonQuery();
bool b=Converrt.ToBoolean(prm3.value);
if(b)
{
Label2.Text="登录成功";
}
else
{
Label2.Text="登录失败";
}
}
}

}

create proc usp_denglu
@username2 nvarchar(10),
@password varchar(20),
@result bit output
as
begin

declare @count int
set @count= (select * from T_user where @username2=username and @password=password)
if @count>0
begin
print '登陆成功'
end
else
begin
print '登录失败'

end
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值