从 sql 服务器对用户进行身份验证后,在我的 asp.net 显示用户名
本文关键字:用户 asp 我的 net 显示 身份验证 服务器 sql | 更新日期: 2023-09-27 17:56:26
我想在我的 asp.net 页面上显示登录的用户名,查询是什么或任何需要做的事情,以帮助我
CREATE PROCEDURE validate_user
@Username VARCHAR(20),
@Password VARCHAR(20)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @UserId INT
select count(*)from UserArtTable where UserName = @Username and passwd = @Password
End
My this 存储过程仅在用户存在与否时进行身份验证我想要的是,如果用户存在,那么我存储在数据库中的他/她的用户名应该填充 asp.net 页面我必须用 C# 或客户端使用 jquery 编写什么代码,我被困在这里。我根本没有头绪我在 3 层工作,你能帮我解决这个问题吗?
我们可以在存储过程中使用输出参数从单个查询返回用户名。 使用此存储过程。
CREATE PROCEDURE validate_user
@Username VARCHAR(20),
@Password VARCHAR(20),
@UsernameOutput VARCHAR(20) output
AS
BEGIN
SET NOCOUNT ON;
declare @test int
select @test=count(*) from UserArtTable where UserName = @Username and passwd = @Password
if(@test>0)
select @UsernameOutput=UserName from UserArtTable where UserName = @Username and passwd = @Password
End
通常,在实际场景中,我们将有两个存储过程,一个用于验证凭据,另一个用于在登录后加载用户信息。 如果这是您的要求,请使用上面的代码。
这应该适合您。 如果是,请将其标记为答案。
您正在从存储过程中获取计数。因此,只需通过ExecuteScalar()
或ExecuteNonQuery()
获得结果,并像这样检查计数:
...
int countResult = ExecuteNonScalar();
if(countResult > 0)
{
Display(userName);
//userName here is the same that you have passed to your Stored Procedure.
}
在 C# 中,可以按照以下步骤显示用户名:
- 使用上面提到的存储进程验证用户名 (xxx)
- 使用另一个 PROC 从数据库中获取用户,如下所示:
创建过程get_user @Username瓦尔查尔(20) 如 开始 将"无计数"设置为"打开"; 声明@UserId INT 从用户艺术表中选择 *,其中用户名 = @Username 结束
- 现在使用从数据库中获得的使用名称显示在您想要的页面上
这是一个通用的解决方案,您需要在 C# 中创建以下方法:
- bool 验证用户(字符串用户名、字符串密码) 用户
- 对象获取用户(字符串用户名)