失去了两个jDateChoosers日期跨度 [英] Lost in two jDateChoosers date spans
问题描述
我迷路了,尝试从两个jDateChoosers
中获取日期,然后查询derby数据库表"TEST5"列"DATEDATE"以将这两个日期之间的所有记录列出到我的jTable中.
I'm lost, trying to take dates from two jDateChoosers
then query derby database table "TEST5" column "DATEDATE" to list all records between these two dates out to my jTable.
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String url = "jdbc:derby://localhost:1527/test5";
String user = "APP";
String pass = "APP";
Connection con = null;
try {
con = DriverManager.getConnection(url ,user, pass);
} catch (SQLException ex) {
Logger.getLogger(MainDisplay.class.getName()).log(Level.SEVERE, null, ex);
}
java.sql.Date dateStart = new java.sql.Date(jDateChooser2.getDate().getTime());
java.sql.Date dateEnd = new java.sql.Date(jDateChooser3.getDate().getTime());
try (PreparedStatement st = con.prepareStatement("SELECT DateDate FROM TEST5 WHERE DateDate between ? AND ?" );
ResultSet rs = st.executeQuery()) {
st.setDate(1, dateStart);//set start date
st.setDate(2, dateEnd);//set end date
MainDisplay.jTable1.setModel(DbUtils.resultSetToTableModel(rs));
rs.close();
st.close();
con.close();
} catch (SQLException ex) {
Logger.getLogger(MainDisplay.class.getName()).log(Level.SEVERE, null, ex);
}
这是我的最新版本(抱歉,不确定在何处发布回复)
This is my latest revision ( sorry, not sure where to post reply's yet)
推荐答案
您无需将任何值设置为dateStart >= ? AND dateEnd <= ?
,您必须使用:
You don't set any value to dateStart >= ? AND dateEnd <= ?
you have to use:
try (PreparedStatement st = con.prepareStatement("SELECT DateDate FROM TEST5 WHERE dateStart >= ? AND dateEnd <= ?");) {
st.setDate(1, dateStart);//set start date
st.setDate(2, dateEnd);//set end date
ResultSet rs = st.executeQuery()
MainDisplay.jTable1.setModel(DbUtils.resultSetToTableModel(rs));
此外,请确保设置正确的列名称DateDate, dateStart, dateEnd
Also, make sure that you set the correct name of your columns, DateDate, dateStart, dateEnd
修改
如果我理解,在您的情况下,您的表只有一个日期,并且您想获取该日期的所有日期<= startDate
和>= endDate
,在这种情况下,您可以使用:
If i understand, in your case your table has just one date and you want to get all the dates <= startDate
and >= endDate
this date, in this case you can use :
SELECT DateDate FROM TEST5 WHERE DateDate >= ? AND DateDate <= ?
与此between
的相似之处:
SELECT DateDate FROM TEST5 WHERE DateDate between ? AND ?
这篇关于失去了两个jDateChoosers日期跨度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!