void login()
{
OleDbDataAdapter da = new OleDbDataAdapter(" select count(*) from admin where ='"+textBox1.Text+"' and username= '"+textBox2.Text+"'",conn);
DataTable dt = new DataTable();
da.Fill(dt);
if (textBox1.Text.Equals(" "))
{
MessageBox.Show("ENTER USERNAME ");
}
else if (textBox1.Text.Equals(" "))
{
MessageBox.Show("ENTER USERNAME ");
}
else if (dt.Rows[0][0].ToString() == "1")
{
Form2 f = new Form2();
f.Show();
this.Hide();
}
else
{
Form2 F1 = new Form2();
F1.Show();
this.Hide();
MessageBox.Show("username or password incorrect");
}
}
我想知道这个错误的答案。
1条答案
按热度按时间fbcarpbf1#
您提供的代码在SQL查询中有语法错误。WHERE子句不完整,并且在“where =”表达式后缺少列名。要修复此错误,您需要在WHERE子句中添加列名,如更正后的代码所示:
但是,我还想提一下,您的代码可能容易受到SQL注入攻击。若要避免这种情况,应使用参数化查询,而不是将用户输入直接连接到SQL语句中。参数化查询如下所示:
然后,您可以使用参数将@value1和@value2替换为textBox1.Text和textBox2.Text的值,如下所示:
请注意,我给你的代码是MySQL的。请查看数据库版本的文档。