我有一个带有日期时间列的表我想从数据库中检索数据,其中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();
}
}
答案 0 :(得分:1)
理论上可以在窗口上放置许多不同的JDateChooser
控件。因此,当您引用其中一个时,您需要指定哪一个,而不是仅仅调用它JDateChooser
。
在你班级的某个地方,你会有一个类似
的声明private JDateChooser theChooser;
您声明一个变量以引用您的JDateChooser
- 也就是说,您为其命名。现在,当您在JDateChooser
方法中引用actionPerformed
时,需要使用完全相同的名称。例如
Date date = theChooser.getDate();
但是不要写theChooser
- 在声明变量时写下你给JDateChooser
的名字。