我正在尝试使用NetBeans-8.0.2和JavaFX(FXMLApplication)创建一个待办事项列表,该列表将内存存储到MySQL数据库中。
我知道,SQL查询采用倒置逗号 - > (')和 双引号 - > (“)同样理解字符串。
现在,我正在尝试的是,(今天是我姐姐的生日)我正在尝试在我的列表中添加一个任务:这是Rahi的生日!
但是,由于sql查询,它失败了。
这是因为在代码中,输入的反转逗号会使sql查询整体变得复杂。
@FXML
private void handleAddTaskAction(ActionEvent event) {
String date = addTaskDatePicker.getValue().toString();
System.out.println(date);
String hour = hourComboBox.getValue() + "";
String minute = minuteComboBox.getValue() + "";
String where = whereField.getText();
String header = headerField.getText();
String description = descriptionArea.getText();
if(hour.length()==0)
hour= "12 AM";
if(minute.length()==0)
minute= "00";
if(header.length()==0)
header= "(No header available)";
if(description.length()==0)
description= "(No description available)";
if(header.length()==0 && description.length()==0){
header= "(Empty task)";
description= "(Empty description)";
}
String query = "insert into task values('" + date + "','" + hour + " " + minute + " minutes', '"
+ header + "', '" + description + "', 'at " + where + "');";
if (date.length() >= 1) {
try {
statement.execute(query);
} catch (SQLException ex) {
//Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setHeaderText("Error occured!");
alert.showAndWait();
}
} else {
Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setHeaderText("You must select a date.");
alert.showAndWait();
}
}
我想在输入时存储消息。任何解决方案?
我的数据库表描述和GUI作为图片附加。 问我是否还需要其他东西。 谢谢。
图片:GUI和 图片:Table description