我有两个表,User和UserReputation。我想使用SqlDataAdapter获取数据。

        SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=abc.com;Integrated Security=True");
        SqlDataAdapter userDataAdapter = new SqlDataAdapter("SELECT * FROM User", conn);
        SqlDataAdapter userReputationDataAdapter = new SqlDataAdapter("SELECT * FROM UserReputation", conn);
        DataSet ds = new DataSet();
        userDataAdapter.Fill(ds, "User");
        userReputationDataAdapter.Fill(ds, "UserReputation");


我测试了连接字符串和连接,没问题,但是在userDataAdapter.Fill(ds, "User");处出现以下错误


  System.Data.dll中发生了类型为'System.Data.SqlClient.SqlException'的未处理的异常
  
  附加信息:关键字“用户”附近的语法不正确。


谢谢你的帮助

最佳答案

将查询更改为以下内容:

"SELECT * FROM [User]"


User是关键字,如果您将Table命名为“ User”,则应使用方括号
或正如@Rahul提到的,您也可以使用""

"SELECT * FROM \"User\""

09-11 20:37