从 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 层工作,你能帮我解决这个问题吗?

从 sql 服务器对用户进行身份验证后,在我的 asp.net 显示用户名

我们可以在存储过程中使用输出参数从单个查询返回用户名。 使用此存储过程。

       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# 中,可以按照以下步骤显示用户名:

  1. 使用上面提到的存储进程验证用户名 (xxx)
  2. 使用另一个 PROC 从数据库中获取用户,如下所示:
   创建过程get_user       @Username瓦尔查尔(20)       如       开始         将"无计数"设置为"打开";         声明@UserId INT         从用户艺术表中选择 *,其中用户名 = @Username    结束
  1. 现在使用从数据库中获得的使用名称显示在您想要的页面上

这是一个通用的解决方案,您需要在 C# 中创建以下方法:

  1. bool 验证用户(字符串用户名、字符串密码)
  2. 用户
  3. 对象获取用户(字符串用户名)