2013-06-21 67 views
0

我想爲一個表中的許多列寫一個更新SQL語句。例如產品表。在產品表中,有許多列,如名稱,說明,價格,數量,圖像,類別,狀態。更新一個表中有多個字段的SQL語句

於是我想出了這條SQL語句:

String sql = "UPDATE sm_product SET productDescription = '" + desc + 
    "' , productPrice = ' + price + ', productQuantity = ' + quantity + 
    ', productImage = '" + image + "', productCategory = '" + category + 
    '" WHERE productName = '" + name + "'"; 

然而,編譯器告訴我,有沒有結束的字符文字而不是一個聲明。我想知道我應該如何解決這個SQL語句,因爲我只有一個表來更新。但在該表格中,有很多領域。

在此先感謝。

+1

注意我做了編輯,以及如何語法高亮顯示,許多** **不被正確地強調你要被插入varabieslare的。 –

+0

與您的問題無關,但仍需注意,請確保您正在清理輸入內容,以免發生SQL注入。 –

+0

如何消毒輸入?什麼是SQL注入? –

回答

2

看起來你的報價有問題。試試這個:

String sql = "UPDATE sm_product SET productDescription = '" + desc + 
    "' , productPrice = " + price + ", productQuantity = " + quantity + 
    ", productImage = '" + image + "', productCategory = '" + category + 
    "' WHERE productName = '" + name + "'"; 

這是假設價格和數量是數字,其餘都是字符串。

+0

所以數字是「」。我認爲他們是''。但是,如果我在一行寫入時發生錯誤? –

+0

數字不需要任何引號,只需要引用字符串。 – Barmar

+0

好的,非常感謝。 –