我不知道这段代码有什么问题

I don't know what is wrong with this code

我不知道这段代码有什么问题,但它只是跳转到了 else 部分。你能帮帮我吗?

SqlCommand cmd = new SqlCommand("select * from TB_VH_HW where UserName='" + Txtusername.Text + "' and Password='" + txtpassword.Text + "'", con);
con.Open();

int i = (int)cmd.ExecuteScalar();

if (i == 1)
    Server.Transfer("userlogin.aspx");
else
    Label1.Text = "login faileed";

table 列只有 UserNamePassword

您的意思是:

  select count(*) from ..

ExecuteScalar returns查询返回的结果集中第一行的第一列。如果您的第一列不是 1,您将始终转到 "else"。是的,上面关于 sql 注入和存储密码的评论适用。