java - 无法获取两个日期之间的记录

标签 java mysql swing date jdatechooser

我的问题是我无法获取两个日期之间的所有记录。

我有两个 JDateChooser。当我选择“2011 年 4 月 10 日”到“2011 年 4 月 20 日”这样的两个日期时,我希望这些日期之间的所有记录都显示在我的 JList 中。但是我无法在 JList 中获得任何结果。

我正在使用 mysql 数据库。

  private void Display(java.awt.event.ActionEvent evt) {

    try 
    { 

        Class.forName("com.mysql.jdbc.Driver");  
        Connection con= 
           (Connection)DriverManager.getConnection(
             "jdbc:mysql://localhost:3306/test","root","ubuntu123");   
        java.util.Date jd =  jDateChooser1.getDate();
        java.util.Date jd1 = jDateChooser2.getDate();

        // PreparedStatement stmt = (PreparedStatement) con.prepareStatement("select date from invoice where date = ?);

        // PreparedStatement pstmt = (PreparedStatement) con.prepareStatement("SELECT date FROM invoice WHERE date BETWEEN ' ' AND ' '");

        PreparedStatement pstmt = (PreparedStatement) con.prepareStatement("SELECT date FROM invoice WHERE date >= '+jd + ' AND date <= '+jd1 + '");

        pstmt.execute();  

        ResultSet rs = pstmt.getResultSet();

        int i =0;
        DefaultListModel listModel = new DefaultListModel();

        while(rs.next())
        {   

            String [] data;
            data = new String[100];
            data [i] = rs.getString("date");
            jList1.setModel(listModel);
            listModel.addElement(data [i]);
            i = i+1;

        }
    } 
    catch (Exception e) 
    {
        System.out.println("2nd catch  " + e);
    }        
}

谁能告诉我我的错误在哪里? 提前致谢..

最佳答案

因为这是一个PreparedStatement,你可以尝试:

PreparedStatement pstmt = (PreparedStatement) con.prepareStatement("SELECT date FROM invoice WHERE date >= ? AND date <= ?");
pstmt.setDate(1,new java.sql.Date(jd.getTime()));
pstmt.setDate(2,new java.sql.Date(jd1.getTime()));
ResultSet rs = pstmt.executeQuery();

关于java - 无法获取两个日期之间的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16165759/

相关文章:

java - 正则表达式从 "/token1/token2/token3"拆分第一个

java - 如何配置 Spring 以使用 TransactionManager

java - Android:考虑2个分隔字符分割字符串

java - JPA + hibernate : How to define a constraint having ON DELETE CASCADE

mysql - 无法理解案例陈述

java - 方法不能应用于给定类型。希望得到帮助

php - 从数据库中获取单个值 - Codeigniter

java - 在 JPanel 中显示 JPanel 数组

java - Java中简单的多色文本

Java JPanel 子类忽略添加组件的界限