gpt4 book ai didi

java - JDBC - 将光标移出 insertRow

转载 作者:太空宇宙 更新时间:2023-11-04 12:23:30 25 4
gpt4 key购买 nike

我在 ResultSet 中插入多行,如下所示,我需要在插入所有行后打印出 ResultSet,因此尝试将光标移回第一行之前,但失败并出现错误 - “此行错误:Java.lang.IllegalStateException:当光标位于插入行上时无法调用此方法”

ResultSet rs = ...;
for(int i=0; i<5; i++){
rs.moveToInsertRow();
rs.updateString("NAME", "Jon");
rs.updateString("ADDRESS", "111 New York");
rs.updateString("EMAIL", "test@test.com");
}

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() 时将光标移回初始位置吗?

最佳答案

您应该使您的声明可滚动才能执行此操作,如下所示

Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

关于java - JDBC - 将光标移出 insertRow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38596251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com