关键字'订单'附近的SQL语法不正确

时间:2018-04-15 22:40:50

标签: c# sql

List<Order> results = new List<Order>();

db.Cmd = db.Conn.CreateCommand();
db.Cmd.CommandText = "SELECT * FROM Order";
db.Rdr = db.Cmd.ExecuteReader();

while (db.Rdr.Read())
{
        results.Add(getOrderFromReader(db.Rdr));
}

db.Rdr.Close();
return results;

此代码运行时出现此错误

  

System.Data.SqlClient.SqlException:&#39;关键字&#39;订单&#39;附近的语法不正确。&#39;

结果是Order个对象的列表。该表的名称完全是Order。方法getOrderFromReader只从订单表中获取一行数据并将其放入新的订单对象中。我已经使用这种格式的代码从数据库中的所有表中提取数据,其余的工作正常,但它只是我得到此错误的Order表,我不知道这是不是因为数据库中的其他设置。我对SQL很陌生,所以我很感激能得到的任何帮助。

感谢。

2 个答案:

答案 0 :(得分:5)

您需要将表格的名称放在方括号中才能使其正常工作。

the_user.get_rooms.all()

订单是SQL保留字,因此如果可以,您可以考虑重命名该表。

答案 1 :(得分:1)

OrderSQL中用于对结果集进行排序/排序的关键字。 编译器在这里与关键字和表名混淆。

解决方案:

  • 重命名您的表名

  • 将表名括在括号中。 [订购]。即 选择*来自[订购]