【发布时间】:2014-03-06 06:17:24
【问题描述】:
这是我的代码:
protected void logujButton_Click(object sender, EventArgs e)
{
string user = "data source=myHostServer; database = myDataBase; user id=myLogin; password=myPassword";
SqlConnection con2 = new SqlConnection(user);
con2.Open();
string loguj = "select count(*) from uzytkownik where Login = '"+ logujTextBox.Text +"'";
SqlCommand command = new SqlCommand(loguj, con2);
int wartosc = Convert.ToInt32(command.ExecuteScalar().ToString());
con2.Close();
if (wartosc == 1)
{
con2.Open();
SqlCommand pobierzHaslo = new SqlCommand("select Haslo from uzytkownik where Login = '" + logujTextBox.Text + "'", con2);
SqlDataReader rdr = pobierzHaslo.ExecuteReader();
string haslo = rdr["Haslo"].ToString();
if (haslo == hasloTextBox.Text)
{
errorLabel.Text = "Prawidlowe Haslo !";
}
else
{
errorLabel.Text = "Zle haslo !";
}
}
else
{
errorLabel.Text = "Taki uzytkownik nie istnieje !";
}
}
当我按下按钮时,出现此错误:“没有数据时读取尝试无效”。你能告诉我,我在哪里做错了吗?感谢您的建议!
【问题讨论】:
-
调试您的代码并告诉我们发生在哪一行。
-
"string haslo = rdr["Haslo"].ToString();"这一行有问题
-
请阅读parameterized queries。您当前的方法容易受到 SQL 注入攻击。
标签: asp.net sqldatareader