我在Jtable中显示数据库值时遇到问题。我不知道如何在JDataChooser
中使用JTable
作为搜索工具。我想要这样的流程,如果JDateChooser1
选择08-17-2017
而JDateChooser2
选择09-17-2017
JTable
只会显示08-17-2017 - 09-17-2017
之间的日期值。日期的格式为(MM-dd-yyyy
)。
我有这个方法,作为测试,我把方法放在一个按钮上。我也想知道在哪里可以使用这种方法不能使用按钮。选择日期后自动搜索。
sales是myql中的表名,Date是列名。
private void Dated() {
try {
String value1, value2;
value1 = jDateChooser1.getDate().toString();
value2 = jDateChooser2.getDate().toString();
String sql = "select * from sales where Date = '" + value1 + "' and '" + value2 + "'";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
答案 0 :(得分:1)
您在查询中遗漏了一些信息:
should be select * from sales where Date between date1 and date1
中使用 关键字而不是=
您的代码应如下所示:
Date value1 = jDateChooser1.getDate();
Date value2 = jDateChooser2.getDate();
String sql = "select * from sales where `Date` between ? and ?";
pst = conn.prepareStatement(sql);
pst.setDate(1, value1);
pst.setDate(2, value2);
rs = pst.executeQuery();