java - 我收到 .getDateEditor 错误

标签 java swing date windowbuilder

我正在尝试将 JDateChooser 添加到我的 gui,然后将数据插入到我的数据库中。我不断收到 .getDataEditor

的此错误

The method getDateEditor() is undefined for the type 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());
            }
        }
    });

最佳答案

这是特定于数据库的,因为某些数据库需要特定格式的日期...

您也许可以使用...

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 驱动程序和数据库来解决所有问题...

关于java - 我收到 .getDateEditor 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26373788/

相关文章:

java - 如何在java中将b+树存储在文件中?

java - 如何创建一个方法来测量执行一个方法所花费的时间

java - 在 GroupLayout 中创建页脚

java - 如何检查 JButton 中是否有文本

java - 即使使用包装类,SwingWorker 异常也会丢失

java - 使用java查找索引

java - 如何不区分顺序地比较两个整数数组

R 计算日期范围之间每月发生的频率

java - 设置警报到期时间

datetime - 为什么 R 不能将 'CST' 识别为有效时区?