System.Data.SqlClient.SqlException:'表'附近的语法不正确。'

时间:2018-03-02 18:11:29

标签: c#

我试图让这段代码正常工作,但每次调试时,都会遇到此错误。

这是我的代码:

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);

我感谢所有帮助,对我的英语感到抱歉。

1 个答案:

答案 0 :(得分:1)

这是SQL引擎的错误,很可能是由table关键字引起的。建议不要将关键字用作表名。但是如果要使用它,请使用方括号,如下所示: 从[表格]中选择计数(*) 您会找到相关说明here

您还需要删除 Utilizador = 周围的单引号。

此外,dt.Rows [1] [2]将返回第二行第三列的值。在您的情况下,您需要:dt.Rows [0] [0]