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){}
    }
    
}  
}

どういうわけか、アプリケーションを実行すると、コードのブロックがその上にある場合、アプリケーションが開かないように見えます。これは、本当に何か間違ったことをしたことを意味します。誰かが私が何をすべきか、またはjDatechooserのことを聞いているjTableからどこから始めるべきかを変更または教えてもらえますか?

~回答してくださる方、よろしくお願いします!~

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 に答える