0

JDBC 接続を使用しているときに、2 つの SELECT ステートメントを実行しようとしています。1 つ目はテーブル (SQL_IBGN) から 1 つのレコードを返し、2 つ目は最初のクエリの列 (BGNREF) を使用して別のテーブル (SQL_ITXN) から複数のレコードを返すように設計されています。

クエリごとに個別の Statement オブジェクトと ResultSet オブジェクトがあります。

クエリ 1 のコード:

    Statement stmt = con.createStatement();
    String sql = "SELECT BGNREF..... FROM SQL_IBGN WHERE BGNREF LIKE '2306009';";
    ResultSet rs = stmt.executeQuery(sql);
    String bgnref = null;
    while (rs.next()) {
        G1SQL_IBGN g1rec = new G1SQL_IBGN();
        bgnref = rs.getString(1);
        g1rec.setBGNREF(bgnref);
    }

クエリ 2 のコード:

        if (bgnref != null) {
        Statement stmt1 = con.createStatement();
        String sql1 = "SELECT ACT_DESC...... SQL_ITXN WHERE BGNREF LIKE '"
                + bgnref + "';"; // Execute the SELECT statement ResultSet
        ResultSet rs1 = stmt1.executeQuery(sql1); // Get result of first five records
        while (rs1.next()) {
            G1SQL_ITXN g1itxn = new G1SQL_ITXN();
            g1itxn.setACT_DESC(rs1.getString(1));
        }
    }

最初のクエリは単一のレコードを返しますが、rs1.next() = true であっても、2 番目の while ループ while (rs1.next()) は実行されません。

4

0 に答える 0