Я получаю ошибку.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 и база данных решат все это...

Другие вопросы по тегам