向表模型添加两个查询

时间:2013-10-02 04:47:59

标签: java mysql sql database

我必须向表模型添加两个查询,以便它显示在表上。这是一个对足球进行预测的程序(准确地说是EPL),我需要在他们在主场和客场比赛时显示球队的所有结果。第一个问题是让他们玩回家的所有游戏,第二个问题是他们玩的时候。这是代码:

public void showResultsTotalTeam(){
    deleteAllRows(dTableModel); // deleta all rows in the table
    try {
        conn = DriverManager.getConnection(connection.conn_url, connection.conn_user, connection.conn_pass);// connect to database server
        Statement sqlState = conn.createStatement();// create statement for sql
        String selectStuff = "SELECT games_team1, games_team2, games_winner, games_draw, games_team1_score, games_team2_score, games_month, games_day FROM games WHERE games_team1 = '" + cbxTeam1.getSelectedItem() + "'";// ststement for MySQL
        rows = sqlState.executeQuery(selectStuff);  // execute statement
        String selectStuff2 = "SELECT games_team1, games_team2, games_winner, games_draw, games_team1_score, games_team2_score, games_month, games_day FROM games WHERE games_team2 = '" + cbxTeam1.getSelectedItem() + "'";// ststement for MySQL

        rows2 = sqlState.executeQuery(selectStuff); // execute statement
        Object[] tempRow;// create object array to store queried results
        Object[] tempRow2;

        while(rows.next()){ // while there are still values to be seen to
            tempRow = new Object[]{rows.getString(1), rows.getString(2), rows.getString(3), rows.getString(4), rows.getString(5), rows.getString(6), rows.getString(7), rows.getString(8)};// add data to array
            tempRow2 = new Object[]{rows2.getString(1), rows2.getString(2), rows2.getString(3), rows2.getString(4), rows2.getString(5), rows2.getString(6), rows2.getString(7), rows2.getString(8)};
            dTableModel.addRow(tempRow); // add array to table model
            dTableModel.addRow(tempRow2);
        }

    } catch (SQLException ex) {
        // TODO Auto-generated catch block
        System.out.println(ex.getMessage());
    }
}

现在这段代码不起作用,根本没有显示。

请帮帮忙?任何建议都会很棒。

2 个答案:

答案 0 :(得分:0)

除非行数==行数2,否则在迭代rows.next时可能会遇到麻烦

同时建议您迭代使用两个不同的块进行编码,一个用于rows,一个用于rows2

修改

这也可以通过一个查询

完成
SELECT games_team1, games_team2, games_winner, games_draw, games_team1_score, 
games_team2_score, games_month, games_day FROM games 
WHERE games_team1 = '" + cbxTeam1.getSelectedItem() + "' " 
or games_team2 = '" + cbxTeam1.getSelectedItem() + "' "

答案 1 :(得分:0)

你还没有加载thr驱动程序类

Class.forName("Driver Class Name");

你还没有关闭任何东西。 Connecton&结果集