使用sql server从jdbc中的结果集转到最后一行 [英] Go to last row from result set in jdbc with sql server
问题描述
我尝试从我的表中选择,只选择最后一行。我试过这个:
i try to select from my table, only select the last row. I've tried this :
rset = s.executeQuery("select noorder from orders");
rset.last();
String noorder = rset.getString("noorder");`
rset是结果集,并且s是声明。但它抛出异常:ResultSet只能在前进方向访问。
rset is resultset, and s is statement. But it throw an exception : ResultSet may only be accessed in a forward direction`
我试过这个:
if (rset != null) {
while(rset.next()){
rset.last();
}
}
我做错了吗?任何的想法?谢谢
Am I doing wrong? Any idea? Thanks
编辑:
这是答案,正如@Bhavik-Ambani所建议的那样(感谢他)。这是我的代码:
Edit : This is the answer, as suggested by @Bhavik-Ambani (thanks for him). And this is my code :
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
}
希望它将有助于另一个。 Java rock!
Hope it will be help another. Java rocks!
推荐答案
默认的ResultSet对象不可更新,并且只有一个向前移动的游标。因此,您只能迭代一次,并且只能从第一行到最后一行。
A default ResultSet object is not updatable and has a cursor that moves forward only. Thus, you can iterate through it only once and only from the first row to the last row.
在代码级别,您可以执行以下操作
At code level you can do the following thing
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();
这篇关于使用sql server从jdbc中的结果集转到最后一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!