我试图从数据库中获取数据,其中date = jdatechooser:

时间:2017-09-19 04:50:36

标签: java sql jcalendar

我有一个带有日期时间列的表我想从数据库中检索数据,其中jdatechooser中指定了日期,但是他们不断收到错误:

  

无法对非静态方法getDate()进行静态引用   JDateChooser类型

以下是代码:

public void actionPerformed(ActionEvent e) {

                Date date = JDateChooser.getDate();
                try{ 
                String query = " Select *from Transactions WHERE "+date+"=?  ";
                PreparedStatement pst = con.prepareStatement(query);
                ResultSet rs = pst.executeQuery();
                table.setModel(DbUtils.resultSetToTableModel(rs));
                }catch (Exception e1){
                    e1.printStackTrace();
                }

            }

1 个答案:

答案 0 :(得分:1)

理论上可以在窗口上放置许多不同的JDateChooser控件。因此,当您引用其中一个时,您需要指定哪一个,而不是仅仅调用它JDateChooser

在你班级的某个地方,你会有一个类似

的声明
private JDateChooser theChooser;

您声明一个变量以引用您的JDateChooser - 也就是说,您为其命名。现在,当您在JDateChooser方法中引用actionPerformed时,需要使用完全相同的名称。例如

Date date = theChooser.getDate();  

但是不要写theChooser - 在声明变量时写下JDateChooser的名字。