2013-07-17 67 views
3

即時通訊工作更新麥克風訪問2010年使用此代碼中的信息,但它不斷告訴我在更新語句中的語法錯誤。 ihd已經搜索了以前的答案,但其中沒有一個可以工作。這裏是我剪下的代碼。告訴我你是否需要更多信息。語法錯誤在C#與訪問2010更新語句

try 
{ 
    OleDbCommand renew = test.CreateCommand(); 
    renew.CommandType = CommandType.Text; 
    renew.CommandText ="UPDATE Energy_Audit SET Appliances = @app, Usage Per Day = @usg, Power (Watt) = @pow, Number of Item = @num Where ID = @id)"; 
    renew.Parameters.AddWithValue("@app", txtApp.Text); 
    renew.Parameters.AddWithValue("@usg", txtUsg.Text); 
    renew.Parameters.AddWithValue("@pow", txtPwr.Text); 
    renew.Parameters.AddWithValue("@num", txtNum.Text); 
    renew.Parameters.AddWithValue("@id", txtID.Text); 
    renew.ExecuteNonQuery(); 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message); 
} 
+0

你需要用括號括起來,例如'[Usage Per Day]' – V4Vendetta

回答

1

你不能在列名的空間,所以做到這一點,把[]周圍:

UPDATE Energy_Audit SET Appliances = @app, [Usage Per Day] = @usg, [Power (Watt)] = @pow, [Number of Item] = @num Where ID = @id 
+0

謝謝!!解決語法問題。但後來我得到了額外的「)」錯誤。我刪除它。然後我再次運行該程序,但是當我點擊更新按鈕它不更新數據T.T。任何想法? – cSharpNoobies

+0

它應該工作,確保您的ID在表中找到。而且更新的值不一樣 – Zaki

+0

ty2 !!!即時嘗試找到這個解決方案數週! – cSharpNoobies

0

更改您的查詢是這樣的:

UPDATE Energy_Audit 
SET Appliances = @app, [Usage Per Day] = @usg, [Power (Watt)] = @pow, [Number of Item] = @num 
Where ID = @id) 

如果你的列名包含它必須被封裝在方括號中。