0

私は現在、日次レポートを生成する必要がある私のプロジェクトに行き詰まっています。終日通話に関係するすべての障害番号を表示する必要があります。

私が現在持っているものはこちら

| Number of calls from ISG |  2  |    |
| Fault Numbers            |     |  x |

ここで、x は、mySQL データベースからすべての障害番号を表示する必要がある 2 つの障害番号である必要があります。カンマで区切られた 3 番目の列に、ISG IN A SINGLE LINE からの 2 つの障害番号を表示する必要があるためです。最初の試行で最初の行のみが取得されたため、これらの 2 つの結果を取得するにはどうすればよいですか。

呼び出しの数については、q がクエリである私の方法を次に示します。

public void dailyResult(String q, int x, int y){

    try{
        Statement stmtDr = (Statement)daily.createStatement();
        ResultSet rs = stmtDr.executeQuery(q);
    if(rs.next()){
        reportTable1.setValueAt(rs.getInt(1), x, y);
    }
    }catch(Exception e){
                   JOptionPane.showMessageDialog(rootPane, "Error 106\n\nAn error has occured with the resultset procedure method. Please try again later.", "Error!", JOptionPane.ERROR_MESSAGE);
    }
}

これらの数値を単一のjtableセルに表示することに関して、そのようなタスクを行う方法がわかりません。私は mySQL クエリの初心者で、ResultSet クラスがどのように機能するかについても非常に混乱しています。

4

1 に答える 1

3

テーブルを操作するのではなく、テーブルのモデルを操作する必要があります。

を使用している場合は、(モデルを介して) テーブルに新しい行を追加できるメソッドDefaulTableModelを利用できます。それ以外の場合は、適切なメソッドを持つ の実装を提供する必要があります。基礎となるデータ構造を更新できるようにするaddRowTablModel

詳細については、表の使用方法をよく見てください。

クラスには基本的に「現在の」行のResultSet概念があり、結果の列から個々の値を抽出できます (元のクエリで指定されたとおり)。これらは、必要に応じて、順序または名前で抽出できます。

于 2013-04-26T07:35:42.980 に答える