登录页面表示用户不存在

时间:2015-11-21 13:43:15

标签: c#

我有一个登录页面,用于检查当前注册用户的数据库。目前,我的代码将告诉我用户不存在,实际上他们在数据库中,或者如果不存在,页面将保持不变,此时应该出现与问题相对应的文本。

所以名字'Tom'已经在数据库中了,当我输入'Tom'时我收到了消息 “用户不存在”。

myusername

3 个答案:

答案 0 :(得分:1)

您将SQL字符串与传入的用户名进行比较。

   string checkuser = "select count(*) from [Table] where UserName= '" + TextBoxLogIn.Text + "'";

    //...

    if (checkuser == TextBoxLogIn.Text)
    {
        Session["New"] = TextBoxLogIn.Text;
        Response.Write("User name is correct");
    } else { 
        Response.Write("user does not exist");
    }

我认为除非用户对名称进行SQL查询,否则它将始终评估为false:D

[编辑]实际上,即使他们的名字是一个SQL查询,代码也永远不会到达那一点,因为你首先不会在数据库中找到他们的名字。

答案 1 :(得分:0)

比较使用数据库中的用户名和输入文字的记录。

$a == $b

执行查询后代替:

string checkuser = "select count(1) from [Table] where UserName= '" + 
                           TextBoxLogIn.Text + "'";

使用以下代码:

int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
conn.Close();

if (temp == 1)
{
    conn.Open();
    if (checkuser == TextBoxLogIn.Text)
    ///
    ///

答案 2 :(得分:0)

Peope已经告诉过你关于比较保存查询的变量再次输入你输入的值(doh !!)时所犯的错误但是我想让你反对以你的方式编写查询:它不是'一个很好的做法是以你完成的方式编写查询,因为如果你没有正确地转义你的变量,你很容易受SQL Injection或至少讨厌的错误。

我邀请您阅读有关如何使用.Net框架为您提供的内容:使用参数!

在这里,您可以找到您可以使用或至少可以理解的代码的另一个答案:https://stackoverflow.com/a/11905249/1716620