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很陌生,所以我很感激能得到的任何帮助。
感谢。
答案 0 :(得分:5)
您需要将表格的名称放在方括号中才能使其正常工作。
the_user.get_rooms.all()
订单是SQL保留字,因此如果可以,您可以考虑重命名该表。
答案 1 :(得分:1)
Order
是SQL
中用于对结果集进行排序/排序的关键字。
编译器在这里与关键字和表名混淆。
解决方案:
重命名您的表名
将表名括在括号中。 [订购]。即 选择*来自[订购]