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

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

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

这是代码:

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(); } } 

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

在你class上的某个地方,你会有一个类似的声明

 private JDateChooser theChooser; 

你声明一个变量来引用你的JDateChooser – 也就是说,你给它一个名字。 现在,当您在actionPerformed方法中引用JDateChooser时,需要使用EXACT SAME NAME 。 例如

 Date date = theChooser.getDate(); 

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