我收到错误,这是什么问题?
SqlCeCommand com5 = new SqlCeCommand("SELECT MAX(OrderID) AS Expr1 FROM Order_Details)", con);
SqlCeDataReader dr5 = com5.ExecuteReader(); // Catches Ex here
while (dr5.Read())
{
orderID = Convert.ToInt32(dr[0]);
}
我将SQLCe
与VS2012
,WPF
,C#
一起使用。
例外是
$ exception {“解析查询时出错。[令牌行号= 1,令牌行偏移= 62,令牌错误=)]”} System.Exception {System.Data.SqlServerCe.SqlCeException}`
查询正确,但这些查询不会更新我的数据库,你能不能查看它。
SqlCeCommand com3 = new SqlCeCommand("INSERT INTO Order_Details(Discount, TotalPrice, TotalTax) VALUES(@Discount, @TotalPrice, @TotalTax)", con);
com3.Parameters.AddWithValue("@Discount", discount);
com3.Parameters.AddWithValue("@TotalPrice", gTotal);
com3.Parameters.AddWithValue("@TotalTax", totalIndividualTax);
答案 0 :(得分:2)
删除最后的)
SELECT MAX(OrderID) AS Expr1 FROM Order_Details)
^--here
答案 1 :(得分:1)
)
部分之后您有一个额外的括号FROM Order_Details
。只需删除它。
将其更改为;
SqlCeCommand com5 = new SqlCeCommand("SELECT MAX(OrderID) AS Expr1 FROM Order_Details", con);
SqlCeDataReader dr5 = com5.ExecuteReader(); // Catches Ex here
while (dr5.Read())
{
orderID = Convert.ToInt32(dr[0]);
}
顺便说一下,我不明白为什么你在这里使用ExecuteReader
。由于您只返回一行一列,因此使用ExecuteScalar
会更好。
例如;
SqlCeCommand com5 = new SqlCeCommand("SELECT MAX(OrderID) AS Expr1 FROM Order_Details", con);
orderID = (int)com5.ExecuteScalar();
答案 2 :(得分:1)
在此处删除括号:
SqlCeCommand com5 = new SqlCeCommand("SELECT... Order_Details)", con);
^