Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

API

SDK

Tips ‘n’ Tricks

Miscellaneous


:: com :: sun :: star :: sdbc ::

interface XResultSet
Description
provides the navigation on a table of data. A ResultSet object is usually generated by executing a Statement .

A ResultSet maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row. The 'next' method moves the cursor to the next row.

Developers Guide
Database - Scrollable Result Sets

Methods' Summary
next moves the cursor down one row from its current position.  
isBeforeFirst indicates whether the cursor is before the first row in the result set.  
isAfterLast indicates whether the cursor is after the last row in the result set.  
isFirst indicates whether the cursor is on the first row of the result set.  
isLast indicates whether the cursor is on the last row of the result set.  
beforeFirst moves the cursor to the front of the result set, just before the first row. Has no effect if the result set contains no rows.  
afterLast moves the cursor to the end of the result set, just after the last row. Has no effect if the result set contains no rows.  
first moves the cursor to the first row in the result set.  
last moves the cursor to the last row in the result set.  
getRow retrieves the current row number. The first row is number 1, the second number 2, and so on.  
absolute moves the cursor to the given row number in the result set.  
relative moves the cursor a relative number of rows, either positive or negative.  
previous moves the cursor to the previous row in the result set.  
refreshRow refreshes the current row with its most recent value in the database. Cannot be called when on the insert row. The refreshRow method provides a way for an application to explicitly tell the SDBC driver to refetch a row(s) from the database. An application may want to call refreshRow when caching or prefetching is being done by the SDBC driver to fetch the latest value of a row from the database. The SDBC driver may actually refresh multiple rows at once if the fetch size is greater than one. All values are refetched subject to the transaction isolation level and cursor sensitivity. If refreshRow is called after calling updateXXX , but before calling XResultSet::updateRow() , then the updates made to the row are lost. Calling the method refreshRow frequently will likely slow performance.  
rowUpdated indicates whether the current row has been updated. The value returned depends on whether or not the result set can detect updates.  
rowInserted indicates whether the current row has had an insertion. The value returned depends on whether or not the result set can detect visible inserts.  
rowDeleted indicates whether a row has been deleted. A deleted row may leave a visible "hole" in a result set. This method can be used to detect holes in a result set. The value returned depends on whether or not the result set can detect deletions.  
getStatement returns the Statement that produced this ResultSet object. If the result set was generated some other way, such as by an XDatabaseMetaData method, this method returns NULL .  
Methods' Details
next
boolean
next()
raises( SQLException );

Description
moves the cursor down one row from its current position.

A ResultSet cursor is initially positioned before the first row; the first call to next makes the first row the current row; the second call makes the second row the current row, and so on.

If an input stream is open for the current row, a call to the method next will implicitly close it. The ResultSet's warning chain is cleared when a new row is read.

Returns
true if successful
Throws
SQLException if a database access error occurs.
isBeforeFirst
boolean
isBeforeFirst()
raises( SQLException );

Description
indicates whether the cursor is before the first row in the result set.
Returns
true if so
Throws
SQLException if a database access error occurs.
isAfterLast
boolean
isAfterLast()
raises( SQLException );

Description
indicates whether the cursor is after the last row in the result set.
Returns
true if so
Throws
SQLException if a database access error occurs.
isFirst
boolean
isFirst()
raises( SQLException );

Description
indicates whether the cursor is on the first row of the result set.
Returns
true if so
Throws
SQLException if a database access error occurs.
isLast
boolean
isLast()
raises( SQLException );

Description
indicates whether the cursor is on the last row of the result set.

Note: Calling the method isAtLast may be expensive because the SDBC driver might need to fetch ahead one row in order to determine whether the current row is the last row in the result set.

Returns
true if so
Throws
SQLException if a database access error occurs.
beforeFirst
void
beforeFirst()
raises( SQLException );

Description
moves the cursor to the front of the result set, just before the first row. Has no effect if the result set contains no rows.
Throws
SQLException if a database access error occurs.
afterLast
void
afterLast()
raises( SQLException );

Description
moves the cursor to the end of the result set, just after the last row. Has no effect if the result set contains no rows.
Throws
SQLException if a database access error occurs.
first
boolean
first()
raises( SQLException );

Description
moves the cursor to the first row in the result set.
Returns
true if successful
Throws
SQLException if a database access error occurs.
last
boolean
last()
raises( SQLException );

Description
moves the cursor to the last row in the result set.
Returns
true if successful
Throws
SQLException if a database access error occurs.
getRow
long
getRow()
raises( SQLException );

Description
retrieves the current row number. The first row is number 1, the second number 2, and so on.
Returns
the current position
Throws
SQLException if a database access error occurs.
absolute
boolean
absolute( [in] long  row )
raises( SQLException );

Description
moves the cursor to the given row number in the result set.

If the row number is positive, the cursor moves to the given row number with respect to the beginning of the result set. The first row is row 1, the second is row 2, and so on.

If the given row number is negative, the cursor moves to an absolute row position with respect to the end of the result set. For example, calling absolute(-1) positions the cursor on the last row, absolute(-2) indicates the next-to-last row, and so on.

An attempt to position the cursor beyond the first/last row in the result set leaves the cursor before/after the first/last row, respectively.

Note: Calling absolute(1) is the same as calling XResultSet::first() . Calling moveToPosition(-1) is the same as calling moveToLast().

relative
boolean
relative( [in] long  rows )
raises( SQLException );

Description
moves the cursor a relative number of rows, either positive or negative.

Attempting to move beyond the first/last row in the result set positions the cursor before/after the first/last row. Calling relative(0) is valid, but does not change the cursor position.

Note: Calling relative(1) is different from calling XResultSet::next() because is makes sense to call next() when there is no current row, for example, when the cursor is positioned before the first row or after the last row of the result set.

Parameter rows
how many rows should be moved relative to the current row
Returns
true if successful
Throws
SQLException if a database access error occurs.
previous
boolean
previous()
raises( SQLException );

Description
moves the cursor to the previous row in the result set.

Note: previous() is not the same as relative(-1) because it makes sense to call previous() when there is no current row.

Returns
true if successful
Throws
SQLException if a database access error occurs.
refreshRow
void
refreshRow()
raises( SQLException );

Description
refreshes the current row with its most recent value in the database. Cannot be called when on the insert row. The refreshRow method provides a way for an application to explicitly tell the SDBC driver to refetch a row(s) from the database. An application may want to call refreshRow when caching or prefetching is being done by the SDBC driver to fetch the latest value of a row from the database. The SDBC driver may actually refresh multiple rows at once if the fetch size is greater than one. All values are refetched subject to the transaction isolation level and cursor sensitivity. If refreshRow is called after calling updateXXX , but before calling XResultSet::updateRow() , then the updates made to the row are lost. Calling the method refreshRow frequently will likely slow performance.
Throws
SQLException if a database access error occurs.
rowUpdated
boolean
rowUpdated()
raises( SQLException );

Description
indicates whether the current row has been updated. The value returned depends on whether or not the result set can detect updates.
Returns
true if successful
Throws
SQLException if a database access error occurs.
rowInserted
boolean
rowInserted()
raises( SQLException );

Description
indicates whether the current row has had an insertion. The value returned depends on whether or not the result set can detect visible inserts.
Returns
true if successful
Throws
SQLException if a database access error occurs.
rowDeleted
boolean
rowDeleted()
raises( SQLException );

Description
indicates whether a row has been deleted. A deleted row may leave a visible "hole" in a result set. This method can be used to detect holes in a result set. The value returned depends on whether or not the result set can detect deletions.
Returns
true if successful
Throws
SQLException if a database access error occurs.
getStatement
::com::sun::star::uno::XInterface
getStatement()
raises( SQLException );

Description
returns the Statement that produced this ResultSet object. If the result set was generated some other way, such as by an XDatabaseMetaData method, this method returns NULL .
Returns
the statement object
Throws
SQLException if a database access error occurs.
Top of Page

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.