0

エラーが発生しています。ここで何が問題なのですか?

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しています。VS2012WPFC#

例外は

$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);
4

3 に答える 3

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ここで使うのか理解できません。1列で1行を返すだけなので、使用しExecuteScalarたほうがよいでしょう。

例えば;

SqlCeCommand com5 = new SqlCeCommand("SELECT MAX(OrderID) AS Expr1 FROM Order_Details", con);
orderID = (int)com5.ExecuteScalar(); 
于 2013-10-31T07:16:31.213 に答える