Java 结果集关闭后不允许操作

Java 结果集关闭后不允许操作,java,Java,我已经创建了两个不同的结果集对象,但仍然遇到相同的问题,即“结果集关闭后不允许操作” DefaultTableModelD1=(DefaultTableModel)jTable1flights.getModel(); roundtripresult re=新的roundtripresult(); DefaultTableModel mod=(DefaultTableModel)re.jTable1onwardroundtrip.getModel(); DefaultTableModel=(Def

我已经创建了两个不同的结果集对象,但仍然遇到相同的问题,即“结果集关闭后不允许操作”

DefaultTableModelD1=(DefaultTableModel)jTable1flights.getModel();
roundtripresult re=新的roundtripresult();
DefaultTableModel mod=(DefaultTableModel)re.jTable1onwardroundtrip.getModel();
DefaultTableModel=(DefaultTableModel)re.jTable3BackardRoundTrip.getModel();
int j=d1.getRowCount();

对于(int i=1;我请提供一个问题的最小示例。在这样做时,您可能能够回答您自己的问题。您发布了很多代码。尝试通过一次删除一个块来删除您发布的代码。这将使您更接近您的问题,并帮助您在代码中分离责任。我将尝试。感谢uTry to move ResultSet rs1=stmt在您的while循环中处于活动状态。这样,只有一个ResultSet处于活动状态。请提供问题的最小示例。这样,您可能能够回答自己的问题。您发布了大量代码。请尝试通过一次删除一个块来删除发布的代码。这将使您更接近您的问题,并对您有所帮助您可以在代码中分离责任。我将尝试。感谢uTry在while循环中移动ResultSet rs1=stmt。这样,只有一个ResultSet处于活动状态
DefaultTableModel d1 = (DefaultTableModel) jTable1flights.getModel();
roundtripresult re = new roundtripresult();

DefaultTableModel mod = (DefaultTableModel) re.jTable1onwardroundtrip.getModel();
DefaultTableModel model = (DefaultTableModel) re.jTable3backwardroundtrip.getModel();
int j = d1.getRowCount();

for (int i = 1; i <= j; i++) {
    d1.removeRow(0);
}

String depart = (String) jComboBox1cityd.getSelectedItem();
String arrive = (String) jComboBox2citya.getSelectedItem();
String dated = ((JTextField) jDateChooser1dated.getDateEditor().getUiComponent()).getText();
String datea = ((JTextField) jDateChooser2datea.getDateEditor().getUiComponent()).getText();

if (jComboBox1cityd.getSelectedIndex() == jComboBox2citya.getSelectedIndex())
    JOptionPane.showMessageDialog(this, "Please enter correct details in the departing and arriving stations ");
if (dated.equals(datea))
    JOptionPane.showMessageDialog(this, "Please enter correct details in the dates of departing and arriving ");

try {

    Class.forName("java.sql.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost/project", "root", "abhay");
    Statement stmt = con.createStatement();
    String ch = (String) jComboBox1cityd.getSelectedItem();
    String ch1 = (String) jComboBox2citya.getSelectedItem();
    String clas = (String) jComboBox5class.getSelectedItem();

    int adult = Integer.parseInt((String) jComboBox4noofadult.getSelectedItem());
    int child = Integer.parseInt((String) jComboBox3noofchild.getSelectedItem());

    if (jRadioButtononeway.isSelected()) {
        String q =
                "Select * from flight where depart='" + ch + "' and arrive='" + ch1 + "' and class='" + clas +
                "';";
        JOptionPane.showMessageDialog(this, q);
        ResultSet rs = stmt.executeQuery(q);
        while (rs.next()) {
            String r = rs.getString(1);
            String r1 = rs.getString(2);
            String r2 = rs.getString(3);
            String r3 = rs.getString(4);
            String r4 = rs.getString(5);
            String r5 = rs.getString(6);
            String r6 = rs.getString(7);
            double r7 = rs.getDouble(8);
            if (adult != 0) {
                r7 = 1.5 * adult * r7;
                d1.addRow(new Object[] { r, r1, r2, r3, r4, r5, r6, r7 });

            }
            if (child != 0) {
                r7 = child * r7;
                d1.addRow(new Object[] { r, r1, r2, r3, r4, r5, r6, r7 });
            }

        }
    }

    if (jRadioButtonroundtrip.isSelected()) {
        re.setVisible(true);
        String qu =
                "Select * from flight where depart='" + ch + "' and arrive='" + ch1 + "' and class='" + clas +
                "' and dated='" + dated + "';";
        JOptionPane.showMessageDialog(this, qu);
        String qe =
                "Select * from flight where depart='" + ch1 + "' and arrive='" + ch + "' and class='" + clas +
                "' and dated='" + datea + "';";
        //Select * from flight where depart='chennai' and arrive='delhi' and class='economy' and dated='2015-10-10' ;
        ResultSet rs = stmt.executeQuery(qu);
        ResultSet rs1 = stmt.executeQuery(qe);
        while (rs.next()) {
            String r = rs.getString(1);
            String r1 = rs.getString(2);
            String r2 = rs.getString(3);
            String r3 = rs.getString(4);
            String r4 = rs.getString(5);
            String r5 = rs.getString(6);
            String r6 = rs.getString(7);
            double r7 = rs.getDouble(8);
            if (adult != 0) {
                r7 = 1.5 * adult * r7;
                mod.addRow(new Object[] { r, r1, r2, r3, r4, r5, r6, r7 });

            }
            if (child != 0) {
                r7 = child * r7;
                mod.addRow(new Object[] { r, r1, r2, r3, r4, r5, r6, r7 });
            }
        }

        while (rs1.next()) {
            String r = rs1.getString(1);
            String r1 = rs1.getString(2);
            String r2 = rs1.getString(3);
            String r3 = rs1.getString(4);
            String r4 = rs1.getString(5);
            String r5 = rs1.getString(6);
            String r6 = rs1.getString(7);
            double r7 = rs1.getDouble(8);
            if (adult != 0) {
                r7 = 1.5 * adult * r7;
                model.addRow(new Object[] { r, r1, r2, r3, r4, r5, r6, r7 });

            }
            if (child != 0) {
                r7 = child * r7;
                model.addRow(new Object[] { r, r1, r2, r3, r4, r5, r6, r7 });
            }
        }

    }

} catch (Exception e) {
    JOptionPane.showMessageDialog(this, e.getMessage());
}