2016-07-12 13 views
-2

私は "INSERT INTO構文エラー" intクエリを取得、私は理由を考えていません。 (Accessへの接続は別のクラスにあります)。INSERT INTO構文エラーc#、アクセス

public void InsertOrder(Order Item) // add new order 
    { 
     string cmdStr = "INSERT INTO [Order] (CostumerID,ProID,ProName,ProPrice,Comments,Discount,Color,Size,Quantity,OrdertDate) VALUES (@costumerID,@proID,@proName,@proPrice,@comments,@discount,@proColor,@proSize,@quantity,@orderDate)"; 
     using (OleDbCommand command = new OleDbCommand(cmdStr)) 
     { 

      command.Parameters.AddWithValue("@costumerID", Item.CostumerID); 
      command.Parameters.AddWithValue("@proID", Item.ProId); 
      command.Parameters.AddWithValue("@proName", Item.ProName); 
      command.Parameters.AddWithValue("@proPrice", Item.ProPrice); 
      command.Parameters.AddWithValue("@comments", Item.Comments); 
      command.Parameters.AddWithValue("@discount", Item.Discount); 
      command.Parameters.AddWithValue("@proColor", Item.ProColor); 
      command.Parameters.AddWithValue("@proSize", Item.ProSize); 
      command.Parameters.AddWithValue("@quantity", Item.Quantity); 
      command.Parameters.AddWithValue("@orderDate", Item.OrderDate); 

      base.ExecuteSimpleQuery(command); 
     } 

    } 

助けてください。 ありがとう!このページを見てする必要があります

+2

あなたは8つの質問をし、11の回答を得ましたが、どれも受け入れませんでした。 [ツアー]で説明されているように、回答を受け入れると(後で)アップ投票すると、他のユーザーが良い回答を見つけるのに役立ちます。 [ツアー]に行って、過去の回答のいくつかのチェックマークをクリックしてください。 – Plutonix

答えて

2

Reserved Words in MSAccess

あなたはそのサイズに気づくでしょうが予約されたキーワードですので、あなたが本当にその名前を変更することはできませんし、まだあなたのコードでそれを使用したい場合は、以下を行う必要があり角括弧で囲んでください

string cmdStr = @"INSERT INTO [Order] 
      (CostumerID,ProID,ProName,ProPrice,Comments, 
      Discount,Color,[Size],Quantity,OrdertDate) 
      VALUES (@costumerID,@proID,@proName,@proPrice,@comments, 
        @discount,@proColor,@proSize,@quantity,@orderDate)"; 
+0

ありがとう!問題が解決しました。 –

+1

助けになるのはうれしいです。しかし、あなたの歴史を見て、私はあなたが[どのように答えを受け入れるか](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を読むことをお勧めします – Steve

関連する問題