2013-06-21 3 views
0

Я пытаюсь написать инструкцию SQL 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 ** NOT ** подсвечиваются должным образом. –

+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

Хорошо, спасибо большое. –

Смежные вопросы