2014-04-24 118 views
0

這裏是我的關係數據庫(.accdb):C#/ OLE DB:語法錯誤INSERT INTO語句中

(對不起,沒有足夠的聲譽,不能張貼圖片)

https://docs.google.com/file/d/0B11KxyqILxOoVFR5OFBBbEplS0k

代碼有錯誤:

cmd3.CommandText = "INSERT INTO Transaction ([InvoiceNum], [ItemID], [Quantity]) " + 
        "Values (?, ?, ?)"; 

cmd3.Parameters.AddWithValue("@InvoiceNum", invoiceNumber); 
cmd3.Parameters.AddWithValue("@ItemID", itemID); 
cmd3.Parameters.AddWithValue("@Quantity", item.GetQuantity()); 

cmd3.ExecuteNonQuery(); //ERROR: Syntax error in INSERT INTO statement 

如果我插入到Transaction2代替,它的工作原理。

工作代碼:

cmd3.CommandText = "INSERT INTO Transaction2 ([InvoiceNum], [ItemID], [Quantity]) " + 
        "Values (?, ?, ?)"; 

cmd3.Parameters.AddWithValue("@InvoiceNum", invoiceNumber); 
cmd3.Parameters.AddWithValue("@ItemID", itemID); 
cmd3.Parameters.AddWithValue("@Quantity", item.GetQuantity()); 

cmd3.ExecuteNonQuery(); 

我認爲這個問題有事情做與「交易」具有「發票」和「項目」的關係。

請幫忙!

+0

可能只是我,但我得到了「Google Drive - 該應用目前無法訪問」。當試圖按照你的鏈接。嘗試使用圖片上傳服務(如https://imgur.com)。如果錯誤爲ERROR,則爲 –

+0

:INSERT INTO語句中的語法錯誤不能是關係問題。插入前檢查參數的值。 –

+0

準確的錯誤信息是什麼?我會猜測這是因爲'Transaction'是一個保留字。 –

回答

0

單詞TRANSACTION是SQL中的保留字。爲您的表使用不同的名稱。