sql语法错误

时间:2011-02-08 20:40:51

标签: java sql netbeans

我遇到了以下问题: 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 :(得分:0)

我假设您使用的是mysql - 您可以从mysql网站获取更新查询的正确语法 - http://dev.mysql.com/doc/refman/5.0/en/update.html

快速浏览一下,您不需要Event values或括号。

答案 1 :(得分:0)

你应该像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+"'"

答案 2 :(得分:0)

试试这个: -

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);

仅供参考,您在WHERE声明中缺少update条款。这意味着,如果执行此语句,它将更新该表中的所有行。

答案 3 :(得分:0)

您的代码在SQL注入的顺序似乎是危险的,永远不会将用户输入连接到SQL查询中!

改为使用预备语句。