【问题标题】:SqlDataAdapter Fill ErrorSqlDataAdapter 填充错误
【发布时间】:2017-07-15 10:17:10
【问题描述】:

我有两个表, 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”类型的未处理异常

附加信息:关键字“用户”附近的语法不正确。

感谢您的帮助

【问题讨论】:

    标签: c# sqldataadapter


    【解决方案1】:

    将您的查询更改为以下内容:

    "SELECT * FROM [User]"
    

    User 是一个关键字,如果你有 Table 命名为“用户”,你应该使用括号
    或者正如@Rahul 提到的,您也可以使用""

    "SELECT * FROM \"User\""
    

    【讨论】:

    • 您也可以使用"" 进行转义,因为这是 ANSI 标准
    • @Rahul 我已将其添加到答案中,因为它对搜索此问题的人很有用
    猜你喜欢
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多