我试图让这段代码正常工作,但每次调试时,都会遇到此错误。
这是我的代码:
private void button3_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConnectionString);
SqlDataAdapter sda = new SqlDataAdapter($"Select Count(*) from Table Where 'Utilizador=' '{textBox1.Text}' and Passe='{textBox2.Text}'", selectConnection: con);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows[1][2].ToString() == "1")
{
this.Hide();
Form2 ss = new Form2();
ss.Show();
}
else
{
MessageBox.Show("Utilizador e/ou Palavra Passe errados. Caso o erro pressista contacte o administrador de sistema.", "SiGiG - Alerta");
}
}
错误是
System.Data.SqlClient.SqlException:'表'附近的语法不正确。'
并抛出这行代码:
sda.Fill(dt);
我感谢所有帮助,对我的英语感到抱歉。
答案 0 :(得分:1)
这是SQL引擎的错误,很可能是由table关键字引起的。建议不要将关键字用作表名。但是如果要使用它,请使用方括号,如下所示: 从[表格]中选择计数(*) 您会找到相关说明here
您还需要删除 Utilizador = 周围的单引号。
此外,dt.Rows [1] [2]将返回第二行和第三列的值。在您的情况下,您需要:dt.Rows [0] [0]