【发布时间】:2011-04-13 06:38:54
【问题描述】:
我连接到一个 DB2 数据库并进行以下查询。我不明白为什么会出现错误:“无效的游标状态”。
public static void blivPar() {
try {
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
stmt.setMaxRows(1000);
ResultSet drenge = stmt.executeQuery("SELECT * FROM People WHERE sex='M'");
ResultSet piger = stmt.executeQuery("SELECT * FROM People WHERE sex='F'");
drenge.first();
piger.first();
int i=0;
while(drenge.next()) {
while(piger.next()) {
i++;
System.out.print(i);
stmt.execute("INSERT INTO Couples Values ('"+drenge.getString(1) +
"','" + drenge.getString(2) +
"','" + piger.getString(1) +
"','" + piger.getString(2) + "')");
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
谢谢。
【问题讨论】:
-
当您可以使用 SQL 执行此操作时,为什么还要在游标中执行此操作?
-
你的堆栈跟踪是什么? DB2 抛出的 SQL 代码是什么?