В основном я пытаюсь обновить свои записи в своей таблице с помощью драйвера 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}
Вам нужно установить только одно ключевое слово:
update vehicles set capacity = "+capacity+",brand ='"+brand+"', type='"+type+" ..
Узнайте о подготовленных отчетах для предотвращения внедрения SQL
Используйте Set Keyword один раз и установите Date в Quotes.
update vehicles
set capacity = "+capacity+",
brand ='"+brand+"',
type='"+type+"',
model='"+model+"',
dateAqcuire ='"+date+"'
where registrationPlate ='"+registrationNumber+"'
Не ставьте 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];