ban*_*ndi 4 java sql-server-2005 jdbc resultset
我尝试从表中选择,仅选择最后一行。我已经试过了:
rset = s.executeQuery("select noorder from orders");
rset.last();
String noorder = rset.getString("noorder");`
Run Code Online (Sandbox Code Playgroud)
rset是结果集,s是语句。但是它抛出一个例外:ResultSet只能在正向访问`
我试图这样做:
if (rset != null) {
while(rset.next()){
rset.last();
}
}
Run Code Online (Sandbox Code Playgroud)
我做错了吗?任何的想法?谢谢
编辑:这是答案,如@ Bhavik-Ambani所建议(感谢他)。这是我的代码:
Statement s2 = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rset = s2.executeQuery("select noorder from orders");
rset.afterLast();
GETLASTINSERTED:
while(rset.previous()){
noorder = rset.getString("noorder");
break GETLASTINSERTED;//to read only the last row
}
Run Code Online (Sandbox Code Playgroud)
希望对您有所帮助。爪哇岩石!
默认的ResultSet对象是不可更新的,并且具有只能向前移动的光标。因此,您只能从第一行到最后一行迭代一次。
在代码级别,您可以执行以下操作
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet resultSet = statement.executeQuery("select noorder from orders");
resultSet.afterLast();
while (resultSet.previous()) {
String productCode = resultSet.getString("col_one");
String productName = resultSet.getString("col_two");
}
connection.close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32335 次 |
| 最近记录: |