如何解决关键字'user'附近的Sql Command错误无效语法

时间:2016-09-09 08:21:19

标签: c# asp.net sql-server

我正在尝试连接并从表dbo.user获取数据,但在关键字'dbo.user'附近收到错误,因为语法无效 下面是我的代码

private DataTable GetData()
{

    string constr = ConfigurationManager.ConnectionStrings["PoojaDBConnection"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
    {

        using (SqlCommand cmd = new SqlCommand("SELECT * FROM dbo.user"))
        {
            using (SqlDataAdapter sda = new SqlDataAdapter())
            {
                cmd.Connection = con;
                sda.SelectCommand = cmd;
                using (DataTable dt = new DataTable())
                {
                    sda.Fill(dt);
                    return dt;
                }
            }
        }
    }
}

我在sda.Fill(dt);声明

中收到了问题

1 个答案:

答案 0 :(得分:1)

user是SQL保留字。将查询更改为:

"SELECT * FROM dbo.[user]"

始终首选使用[]修饰架构/表/列名称以避免这些错误。

Docs

  

ODBC保留关键字保留用于   ODBC函数调用。这些单词不限制最小SQL   语法;但是,要确保与支持的驱动程序兼容   核心SQL语法,应用程序应避免使用这些关键字。