在结果集中定位
ResultSet对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next方法将光标移动到下一行;因为该方法在ResultSet对象没有下一行时返回false,所以可以在while循环中使用它来迭代结果集。但对于可滚动的结果集,JDBC驱动程序提供更多的定位方法,使ResultSet指向特定的行。定位方法如表1所示。
表1 在结果集中定位的方法 方法 | 描述 |
|---|
next() | 把ResultSet向下移动一行。 |
previous() | 把ResultSet向上移动一行。 |
beforeFirst() | 把ResultSet定位到第一行之前。 |
afterLast() | 把ResultSet定位到最后一行之后。 |
first() | 把ResultSet定位到第一行。 |
last() | 把ResultSet定位到最后一行。 |
absolute(int) | 把ResultSet移动到参数指定的行数。 |
获取结果集中光标的位置
对于可滚动的结果集,可能会调用定位方法来改变光标的位置。JDBC驱动程序提供了获取结果集中光标所处位置的方法。获取光标位置的方法如表2所示。
表2 获取结果集光标的位置 方法 | 描述 |
|---|
isFirst() | 是否在一行。 |
isLast() | 是否在最后一行。 |
isBeforeFirst() | 是否在第一行之前。 |
isAfterLast() | 是否在最后一行之后。 |
getRow() | 获取当前在第几行。 |
获取结果集中的数据
ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用的方法如表3所示,其他方法请参考JDK官方文档。
表3 ResultSet对象的常用方法 方法 | 描述 |
|---|
int getInt(int columnIndex) | 按列标获取int型数据。 |
int getInt(String columnLabel) | 按列名获取int型数据。 |
String getString(int columnIndex) | 按列标获取String型数据。 |
String getString(String columnLabel) | 按列名获取String型数据。 |
Date getDate(int columnIndex) | 按列标获取Date型数据 |
Date getDate(String columnLabel) | 按列名获取Date型数据。 |