检查 asp.net 中是否存在用户名的存储过程

Stored Procedure to check if username exists in asp.net

我需要用户在 asp.net 的 Web 表单中输入用户名。当用户输入并单击按钮时,我需要显示用户名是否存在于特定数据库中的标签。我已经尝试执行一个存储过程,但它总是显示消息 "username found",尽管我提供了不在该数据库中的用户名。

这是我的存储过程

 CREATE PROCEDURE [dbo].[spCheckUsernameForAnswer]
  @userName varchar(20)
  as
  begin
  Declare @count int
       select @count=COUNT(username) from UpdatedAnswer where [username] =@userName 
   if(@count=1)
    Begin
    Select 1 as ReturnCode
    End
      Else
         Begin
         Select -1 as Returncode
        End
  End
  GO

下面是我的代码隐藏文件,它在单击按钮时执行

        string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
        using (SqlConnection con = new SqlConnection(cs))
        {
            SqlCommand cmd = new SqlCommand("spCheckUsernameForAnswer", con);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter parausername = new SqlParameter("@username", GetUsername.Text);
            cmd.Parameters.Add(parausername);
            con.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {
                if (Convert.ToBoolean(rdr["ReturnCode"]))
                {
                    ErrorUserLabel.Text = "Username found";

                }
                else
                {
                    ErrorUserLabel.Text = "not found";
                }
            }

        }

我猜问题出在后面的代码中,但我不知道如何解决它。!!请帮助我是 .net 的新手!!提前致谢

我想在 Convert.ToBoolean 中 1 和 -1 都解析为 true。如果找不到用户名,请尝试返回 0 而不是 -1,或者在后面的代码中检查大于或小于 0 而不是转换为布尔值。