在使用 JDBC 连接时,我正在尝试执行 2 个 SELECT 语句。第一个从表 (SQL_IBGN) 返回单个记录,第二个旨在使用第一个查询中的列 (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,第二个 while 循环 while (rs1.next()) 也不会执行。