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

时间:2016-03-17 18:27:05

标签: asp.net sql-server ado.net

我不知道这段代码有什么问题,但它只是跳转到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";

表格列仅为UserNamePassword

1 个答案:

答案 0 :(得分:2)

你的意思是:

  select count(*) from ..

ExecuteScalar返回查询返回的结果集中第一行的第一列。如果您的第一列不是1,您将始终转到“其他”。是的,以上关于sql注入和存储密码的注释都适用。