您好我有问题我想将光标的位置更改为第一行,但我不知道为什么我的代码无效。当我添加rs2.first()时:
并且我也得到了这个错误:
此方法只应在可滚动的ResultSet对象上调用(类型TYPE_SCROLL_INSENSITIVE)。
try{
String driver = "org.apache.derby.jdbc.ClientDriver";
Class.forName(driver).newInstance();
String url = "jdbc:derby://localhost:1527/test";
Connection conn = DriverManager.getConnection(url);
String query = "select * from APP.RANKING";
Statement stmt = conn.createStatement();
Statement stmt2 = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSet rs2 = stmt2.executeQuery(query);
while (rs.next()){
String BID = rs.getString("BALLOT_ID");
String CN = rs.getString("CANDIDATE_NAME");
String ROID = rs.getString("USER_ID");
Ro1_ID = ROID;
String RA = rs.getString("RANK");
int rowNum = rs.getRow();
int rowNum2;
boolean In_check = false;
while(rs2.next()){
In_ballot.addElement(BID);
}
rs2.First();
In_ballot.addElement(BID);
}
}
catch(Throwable e) {
System.err.println(e.getMessage());
}
this.InB_list.setModel(In_ballot);
由于
答案 0 :(得分:3)
默认情况下,在连接中调用createStament()
会导致每个ResultSet
类型为“TYPE_FORWARD_ONLY” - 这会导致您使用first()
看到异常。
相反,请使用其他版本的createStatement
,例如this one。
This sample在德比中创建可滚动的ResultSet
可能会有所帮助。