Я получаю ошибку.getDateEditor
Я пытаюсь добавить JDateChooser
в мой графический интерфейс, который затем вставляет данные в мою базу данных. Я продолжаю получать эту ошибку для .getDataEditor
,
Метод getDateEditor() не определен для типа JTextField
Я не могу понять, как заставить это работать, так что, если кто-нибудь может помочь мне, пожалуйста, сделайте это.
Я вставлю ту часть кода, с которой у меня возникли проблемы. Я могу опубликовать весь код, который будет содержать более 300 строк, если это необходимо.
btnSubmit = new JButton("Submit");
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
String query = "insert into Oilform (LastName, MI, FirstName, StreetAddress, City, Make, Model, CarYear, PhoneNumber, Mileage, Date) values (?,?,?,?,?,?,?,?,?,?,?,?)";
java.sql.PreparedStatement pst= con.prepareStatement(query);
pst.setString(1, textField.getText());
pst.setString(2, textField_1.getText());
pst.setString(3, textField_2.getText());
pst.setString(4, textField_3.getText());
pst.setString(5, textField_4.getText());
//Combo Boxes States
//String value=statesComboBox.getSelectedItem().toString();
//pst.setString(6, value);
//pst.setString(6, (String)statesComboBox.getSelectedItem());
pst.setString(6, textField_5.getText());
pst.setString(7, textField_6.getText());
pst.setString(8, textField_7.getText());
pst.setString(9, textField_8.getText());
pst.setString(10,textField_9.getText());
pst.setString(11, ((JTextField)Date.getDateEditor().getUiComponent()).getText());
//pst.setString(13, (String)comboBox.getSelectedItem());
//Combo Boxes Oil Types
//String value1=comboBox.getSelectedItem().toString();
//pst.setString(13, value1);
pst.execute();
JOptionPane.showMessageDialog(null, "Data Saved");
pst.execute();
}catch(Exception i) {
System.err.println("Exception: " + i.getMessage());
}
}
});
1 ответ
Это зависит от базы данных, так как для некоторых баз данных потребуется дата в определенном формате...
Вы можете использовать что-то вроде...
pst.setString(11, new SimpleDateFormat("yyyy-MM-DD").format(Date.getDate()));
Это предполагает, что столбец базы данных является текстовым и что Date
на самом деле JDateChooser
и не JTextField
Я подозреваю, что это...
Лучшим решением было бы сделать столбец базы данных своего рода столбцом DATE, чтобы вы могли просто использовать что-то вроде...
pst.setDate(11, new java.sql.Date(Date.getDate().getTime()));
И пусть драйвер JDBC и база данных решат все это...