ResultSet.last()和ResultSet.beforeFirst()以及ResultSet..getRow()

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyu1059915776/article/details/77864863

要使用resultset的这个方法,首先在得到这个resultset的时候必须把statement声明成为scrollable,例如:
PreparedStatement stmt = connection.prepareStatement(sql, para1, para2);
其中para1和para2可以使用ResultSet类中的常量。

你在创建Statement的时候必须指定允许以后移动:
PreparedStatement stmt = connection.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY );

Statement = Connection.createStatement(int resultSetType,int resultSetConcurrency)
resultSetType(结果集类型)包括:

ResultSet.TYPE_FORWARD_ONLY  缺省类型。该常量指示光标只能向前移动的 ResultSet 对象的类型。

ResultSet.TYPE_SCROLL_INSENSITIVE 该常量指示可滚动但通常不受 ResultSet 底层数据更改影响的 ResultSet 对象的类型。

ResultSet.TYPE_SCROLL_SENSITIVE 该常量指示可滚动并且通常受 ResultSet 底层数据更改影响的ResultSet 对象的类型。

resultSetConcurrency(并发类型)包括:
ResultSet.CONCUR_READ_ONLY 缺省类型。该常量指示不可以更新的 ResultSet 对象的并发模式。
ResultSet.CONCUR_UPDATABLE 该常量指示可以更新的 ResultSet 对象的并发模式。

不需要执行select count(*) from table,对表数据进行查询
ResultSet.last():方法将游标指向结果集末尾
ResultSet..getRow():返回结果是当前数据集的行号,而不是结果的行数
ResultSet.beforeFirst():将游标移到第一行前

猜你喜欢

转载自blog.csdn.net/liyu1059915776/article/details/77864863