ошибка синтаксиса sql - PullRequest
       5

ошибка синтаксиса sql

0 голосов
/ 08 февраля 2011

У меня следующая проблема: enter image description here

вот мой sql для обновления

 public void editEvent(String eventName, String eventCategory, String longitude, String latitude, String pricesFrom, String startDate, String endDate, String eventDescription, String address, String postcode){
    String query = "update `mtgultas`.`Event` SET `Event` VALUES(`eventName` = '"+eventName+"', `eventCategory` =  '"+eventCategory+"', `longitude` =   '"+longitude+"', `latitude` =   '"+latitude+"', `pricesFrom` =   '"+pricesFrom+"', `startDate` =   '"+startDate+"', `endDate` =   '"+endDate+"', `eventDescription` =   '"+eventDescription+"', `address` =   '"+address+"', `postcode` =   '"+postcode+"')";
    db.update(query);
    System.out.println(query);
}

, что я пытаюсь сделать, это обновить запись базы данных.я могу заполнить свой фрейм текущими подробностями, однако, когда я нажму кнопку «Сохранить», чтобы обновить его, у него будет «рисовая строка», любая помощь будет оценена

Ответы [ 4 ]

0 голосов
/ 09 февраля 2011

Ваш код кажется опасным в порядке SQL-инъекции, никогда не объединяйте пользовательский ввод в SQL-запрос!

Вместо этого используйте PreparedStatements.

0 голосов
/ 08 февраля 2011

Ваш SQL должен быть что-то вроде

update `mtgultas`.`Event` SET `eventName` = '"+eventName+"', `eventCategory` =  '"+eventCategory+"', `longitude` =   '"+longitude+"', `latitude` =   '"+latitude+"', `pricesFrom` =   '"+pricesFrom+"', `startDate` =   '"+startDate+"', `endDate` =   '"+endDate+"', `eventDescription` =   '"+eventDescription+"', `address` =   '"+address+"', `postcode` =   '"+postcode+"'"
0 голосов
/ 08 февраля 2011

Попробуйте это: -

String query = String.format("UPDATE mtgultas.Event SET eventName = '%s', eventCategory = '%s', longitude = '%s', latitude = '%s', pricesFrom = '%s', startDate = '%s', endDate = '%s', eventDescription = '%s', address = '%s', postcode = '%s'",
                    eventName,
                    eventCategory,
                    longitude,
                    latitude,
                    pricesFrom,
                    startDate,
                    endDate,
                    eventDescription,
                    address,
                    postcode);

Только к вашему сведению, в вашем выражении update отсутствует условие WHEREЭто означает, что если вы выполните этот оператор, он обновит все строки в этой таблице.

0 голосов
/ 08 февраля 2011

Я предполагаю, что вы используете mysql - вы можете получить правильный синтаксис для запроса на обновление с веб-сайта mysql - http://dev.mysql.com/doc/refman/5.0/en/update.html

На первый взгляд вам не нужны Event values илискобка.

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