我在ResultSet中插入了多行,如下圖所示,我需要在插入所有行後打印出ResultSet,因此嘗試將光標移回第一行之前,錯誤 - 「錯誤在這行:Java.lang.IllegalStateException:當光標位於插入行上此方法不能被稱爲」JDBC - 將光標移出insertRow
ResultSet rs = ...;
for(int i=0; i<5; i++){
rs.moveToInsertRow();
rs.updateString("NAME", "Jon");
rs.updateString("ADDRESS", "111 New York");
rs.updateString("EMAIL", "[email protected]");
}
rs.beforeFirst(); // Error at this line: Java.lang.IllegalStateException: This method cannot be called when the cursor is on the insert row
//ResultSet print logic goes here
if(rs.getType() == ResultSet.TYPE_FORWARD_ONLY){
ResultSetMetaData rsmd = rs.getMetaData();
int columnsNumber = rsmd.getColumnCount();
while (rs.next()) {
for (int i = 1; i <= columnsNumber; i++) {
String columnValue = rs.getString(i);
sb.append(rsmd.getColumnName(i)).append(" : ").append(columnValue).append(" ");
}
}
}
任何想法,如何將光標移動回到初始位置的時候調用moveToInsertRow ()已被調用?