我正在尝试将我用jDateChooser选择的日期发送到MySQL数据库,但是它给了我以下错误:
Dec 30, 2015 5:23:29 PM werkstukcp3.swing.WerkstukGUI btnPatCreateActionPerformed
SEVERE: null
java.text.ParseException: Unparseable date: "yyyy-MM-dd"
我一直在寻找StackOverflow以解决这个问题,但我尝试的所有内容都给了我另一个错误。
我的按钮有以下代码:
private void btnPatCreateActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int patientId = 12;
String voornaam = txtPatVoornaam.getText();
String achternaam = txtPatAchternaam.getText();
int kamer = Integer.parseInt(txtPatKamer.getText());
String departement = txtPatDep.getText();
String campus = txtPatCampus.getText();
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
sdf.setTimeZone(TimeZone.getTimeZone("GMT+1"));
Date parse1 = null;
try {
parse1 = sdf.parse(datePatAankomst.getDateFormatString());
} catch (ParseException ex) {
Logger.getLogger(WerkstukGUI.class.getName()).log(Level.SEVERE, null, ex);
}
java.sql.Date aankomstdatum = new java.sql.Date(parse1.getTime());
Date parse2 = null;
try {
parse2 = sdf.parse(datePatVertrek.getDateFormatString());
} catch (ParseException ex) {
Logger.getLogger(WerkstukGUI.class.getName()).log(Level.SEVERE, null, ex);
}
java.sql.Date vertrekdatum = new java.sql.Date(parse2.getTime());
Patient nieuwePatient = new Patient(patientId, voornaam, achternaam, kamer, departement, campus, aankomstdatum, vertrekdatum);
PatientDAO.voegPatientToe(nieuwePatient);
}
提前致谢!
答案 0 :(得分:1)
正如Reimus指出的那样,我正在解析日期格式,而不是实际日期。
private void btnPatCreateActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int patientId = 12;
String voornaam = txtPatVoornaam.getText();
String achternaam = txtPatAchternaam.getText();
int kamer = Integer.parseInt(txtPatKamer.getText());
String departement = txtPatDep.getText();
String campus = txtPatCampus.getText();
Date aankomstdatum = datePatAankomst.getDate();
Date vertrekdatum = datePatVertrek.getDate();
Patient nieuwePatient = new Patient(patientId, voornaam, achternaam, kamer, departement, campus, aankomstdatum, vertrekdatum);
PatientDAO.voegPatientToe(nieuwePatient);
}
现在正在运作。非常感谢!
答案 1 :(得分:0)
datePatAankomst.getDateFormatString()的打印值.datePatAankomst.getDateFormatString()的格式应与为sdf定义的格式匹配。
答案 2 :(得分:0)
这不是对你的问题的真实答案,而是从字面上理解你的第一句话,FYI ......
实际上,您不需要解析yyyy-MM-dd
字符串来发送到数据库。
您应该通过java.sql.Date
类将该值传递给数据库。静态valueOf
方法默认采用该字符串格式。