我遇到了以下问题:
这是我的更新的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);
}
我要做的是更新数据库条目。我可以用当前的细节填充我的框架但是当我点击保存更新它有一个“稻田” 任何帮助将不胜感激
答案 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查询中!
改为使用预备语句。