Как обновить дату в sql

0

В основном я пытаюсь обновить свои записи в своей таблице с помощью драйвера jdbc. Драйвер jdbc не позволит мне обновлять записи, он постоянно бросает это сообщение об ошибке

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с 'set brand =' Nissan ', set type =' Compactor Vehicle ', set model =' zx1000x ', set dateAq' в строке 1

Я проверяю все значения, и они, похоже, находятся в том же формате, что и для sql. Я подозреваю, что это записи даты, которые не делают этого.

Ниже представлен синтаксис sql, который я использую

update vehicles set capacity = "+capacity+",set brand ='"+brand+"', set type='"+type+"',set model='"+model+"',set dateAqcuire ="+date+" where registrationPlate ='"+registrationNumber+"'
public void updateVehicle(){
database db = new database();
String registrationNumber = RegistrationPlate.getText();
int vehicleCapacity = Integer.parseInt(capacity.getText());
String brandz= brand.getText();
String vehicletype = vehicleType.getValue();
String vehicleModel = Model.getText();
LocalDate localDate= dateAccquire.getValue();
java.sql.Date date = java.sql.Date.valueOf(localDate);
db.UpdateVehicle(registrationNumber, vehicleCapacity, brandz, vehicletype, vehicleModel, date);
vehicleAlerts("updated");
}

и ниже - подпись метода

public void UpdateVehicle(String registrationNumber,int capacity,String brand,String type,String model,java.sql.Date date){//code to update records}
  • 3
    Узнайте о подготовленных утверждениях для предотвращения внедрения SQL
  • 0
    Значение даты должно быть в кавычках.
Показать ещё 4 комментария
Теги:
jdbc

3 ответа

0
Лучший ответ

Вам нужно установить только одно ключевое слово:

update vehicles set capacity = "+capacity+",brand ='"+brand+"', type='"+type+" ..

Узнайте о подготовленных отчетах для предотвращения внедрения SQL

  • 0
    хе-хе, да, я посмотрю в этом позже, а также дату следует указать :)
0

Используйте Set Keyword один раз и установите Date в Quotes.

update vehicles 
set capacity = "+capacity+", 
    brand ='"+brand+"', 
    type='"+type+"', 
    model='"+model+"', 
    dateAqcuire ='"+date+"'
where registrationPlate ='"+registrationNumber+"'
0

Не ставьте SET каждый раз перед каждым столбцом, просто используйте ключевое слово SET один раз.

update vehicles 
set capacity = "+capacity+", 
    brand ='"+brand+"', 
    type='"+type+"', 
    model='"+model+"', 
    dateAqcuire ="+date+" 
where registrationPlate ='"+registrationNumber+"'

Общий синтаксис: синтаксис инструкции MariaDB UPDATE при обновлении одной таблицы:

UPDATE table
SET column1 = expression1,
    column2 = expression2,
    ...
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
[LIMIT number_rows];
  • 0
    Спасибо, человек, это сработало :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню