Ошибка в обновлении синтаксиса SQL - PullRequest
0 голосов
/ 26 февраля 2019

Предложите пользователю ввести зарегистрированный номер.обновлять.Вот мой код:

System.out.println("Enter Reg no to update: ");
    int Uregno = in.nextInt();
    String sqlUpdate = "UPDATE vehicle" + "SET name=?" + "ic=?" + "plate=?" + "color=?" + "year=?" + "make=?" + "model=?" + "capacity=?" + "type=?" + "maxload=?"+ "WHERE regno=?"+Uregno;

Я получаю эту ошибку

"У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB ..... "

SQL-запрос выглядит в myphpadmin следующим образом: UPDATE vehicle SET regno = [значение-1], name = [значение-2], ic= [значение-3], plate = [значение-4], color = [значение-5], year = [значение-6], make = [значение-7], model= [значение-8], capacity = [значение-9], type = [значение-10], maxload = [значение-11] ГДЕ 1

Я установил для regno значениеключ автоинкремента, можно ли исключить его из запроса?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Если бы вы не объединяли каждую часть оператора, вы могли бы легко найти ошибки:

String sqlUpdate = 
  "UPDATE vehicle SET name=?, ic=?, plate=?, color=?, year=?, make=?, model=?, capacity=?, type=?, maxload=? WHERE regno=?"

Кроме того, эта окончательная конкатенация:

+Uregno

приведет к синтаксической ошибке.Если Uregno - это значение, которое вы хотите передать для параметра WHERE, то вы должны передать его точно так же, как и все остальные параметры с заполнителями ?PreparedStatement).Или удалите последний ? и передайте его так:

String sqlUpdate = 
  "UPDATE vehicle SET name=?, ic=?, plate=?, color=?, year=?, make=?, model=?, capacity=?, type=?, maxload=? WHERE regno=" + Uregno; 
0 голосов
/ 26 февраля 2019

Убедитесь, что ваш запрос правильный:

String sqlUpdate = "UPDATE vehicle " + "SET name=?, " + "ic=?, " + "plate=?, " + "color=?, " + "year=?, " + "make=?, " + "model=?, " + "capacity=?, " + "type=?, " + "maxload=? "+ "WHERE regno=?"+Uregno;

и убедитесь, что вы передали правильные параметры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...