0

大家好,我正在尝试为我的系统和分析设计论文制作调度系统,但在尝试连接/绑定/使 jTable 监听 jDateChooser 的输入时遇到了麻烦。详细地说,我希望我的日程安排是这样的:

我在 jDateChooser 中选择一个日期

jTable 将通过在 jDatechooser 上输入的日期自行“整理”

有没有办法做到这一点?现在我只有一个表propertyChangelistener:

    private void sched_tablePropertyChangeListener(java.beans.PropertyChangeEvent evt) {
try{
            String calendar = ((JTextField)jdc.getDateEditor().getUiComponent()).getText();
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/accountsDB?zeroDateTimeBehavior=convertToNull","root","");
            String query = "select * from accountsdb.schedules where Date= ?";
            ps= conn.prepareStatement(query);
            ps.setString(1, calendar);
            ResultSet rs = ps.executeQuery();
            sched_table.setModel(DbUtils.resultSetToTableModel(rs));   
        } 
        catch (Exception e){
            JOptionPane.showMessageDialog(null, e);
        }   finally {
    if (conn != null) 
        try { conn.close(); 
        } catch (SQLException ignore) {}
    if (ps != null){
        try {
            ps.close();
        } catch (SQLException ignore){}
    }
    
}  
}

不知何故,当我运行我的应用程序时,如果该代码块在它上面,它似乎并没有打开,这意味着我确实做错了什么。任何人都可以改变或告诉我我应该做什么,或者我应该从哪里开始用 jTable 听 jDatechooser 的东西?

~先谢谢热心回答的人!~

4

1 回答 1

0

没关系,原来我所要做的就是更改 jDateChooser 的日期格式,因为它的格式不完全相同,因此我无法从数据库中调用任何内容。如果有人对我的所作所为感兴趣,我就把它留在这里

private void jdcPropertyChange(java.beans.PropertyChangeEvent evt) {
try{
                   String d1  = ((JTextField)jdc.getDateEditor().getUiComponent()).getText();
                   Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/accountsDB?zeroDateTimeBehavior=convertToNull","root","");

            String query = "select * from accountsdb.schedules where Date= ? order by time,timezone";

            ps = conn.prepareStatement(query);
            ps.setString(1, d1);
            ResultSet rs = ps.executeQuery();
            sched_table.setModel(DbUtils.resultSetToTableModel(rs));
               } catch(Exception e){
                   JOptionPane.showMessageDialog(null, e);
               }    finally {
    if (conn != null) {
        try { conn.close(); 
        } catch (SQLException ignore) {}

    }
    if (ps != null){
        try {
            ps.close();
        } catch (SQLException ignore){}
    }
    }
    }

这样做是每次我从 jDateChooser(命名为 jdc)中选择一个日期时,表/数据库都会调用该日期并对其进行排序。这就是我想要的。

于 2015-04-07T17:32:17.477 回答