:: com :: sun :: star :: sdb ::

service RowSet
Description
is a client side RowSet, which use retrieves is data based on a database table, a query or a SQL command or by a rowset reader, who mustn't support SQL. The connection of the rowset is typically a named DataSource or a DataAccess component or a previous instanciated connection.

Depending on the ::com::sun::star::sdbc::ResultSetConcurrency , the RowSet caches all data or uses an optimized way for retrieving the data, such as, refetching rows by their keys or if provided, by their bookmarks.

In addition, it provides events for RowSet navigation and RowSet modifications to approve the actions and to react on them.

See also
RowChangeAction
See also
RowChangeEvent

Notifications
A row set is able to be operated in various ways, and additionally it notifies various changes in it's state. Clients of this service can rely on a fixed order of notifications, depending on how they operate on the component.
The following describes the general order of all possible notifications which you can encounter when working with a row set:
approving Before anything really happens, any veto listeners are called to approve the operation which is just being done. This may be either a XRowSetApproveListener::approveCursorMove or XRowSetApproveListener::approveRowChange call.
See also
XRowSetApproveListener
column values If the opration includes changes in the values of the columns of the row set, then these are notified before anything else (except requests for approval).
See also
ResultSet
See also
::com::sun::star::sdbcx::XColumnsSupplier
operation done When the operation is done, you get a notification about this. It may be a ::com::sun::star::sdbc::XRowSetListener::cursorMoved or a ::com::sun::star::sdbc::XRowSetListener::rowChanged call.
row state If the operation leads to a change in the state of the IsModified and/or IsNew property, this is notified next (in this order).
row count If the operation leads to new knowledge about the number of rows in the result set, the the respective changes in the RowCount and IsRowCountFinal are notified last (in this order).


The following matrix shows the notifications which apply to the different operations:
approveCursorMove approveRowChange column values cursorMoved rowChanged IsModified IsNew RowCount IsRowCountFinal
::com::sun::star::sdbc::XResultSet
next X X X X X X X
beforeFirst X X X X X
afterLast X X X X X X X
first X X X X X X X
last X X X X X X X
absolute X X X X X X X
relative X X X X X X X
previous X X X X X
refreshRow X X X
cancelRowUpdates X X
::com::sun::star::sdbc::XResultSetUpdate
insertRow X X X X X X X
updateRow X X X X
deleteRow X X X X X X
moveToInsertRow X X X X
moveToCurrentRow X X X X
::com::sun::star::sdbcx::XDeleteRows
deleteRows X X X X X X
::com::sun::star::sdbcx::XRowLocate
moveToBookmark X X X X X
moveRelativeToBookmark X X X X X X X

Developers Guide
12.1.3 Database Access - Overview - Example: Querying the Bibliography Database
12.3.1 Database Access - Manipulating Data - The RowSet Service
13.5.1 Forms - Data Awareness - Forms - Forms as Row Sets

Included Services
::com::sun::star::sdbc::RowSet
is a client side ResultSet, which combines the characteristics of a ::com::sun::star::sdbc::Statement and a ::com::sun::star::sdbc::ResultSet .
ResultSet
extends the ::com::sun::star::sdbcx::ResultSet by a more sophisticated access to the result sets data.
Exported Interfaces
XCompletedExecution
Description
can be used to allow an interaction handler to supply missing data during a execute process.

If you want a row set to be based on a parametrized query, you will usually use the ::com::sun::star::sdbc::XParameters interface.
However, you can also choose to let an interaction handler supply such data. For this, you may for instance instantiate an InteractionHandler , which asks the user for the data, or you may write your own one, which supplies the data from somewhere else.

See also
InteractionHandler
XRowSetApproveBroadcaster
Description
approving of actions performed on the rowset.

The support of this interface implies a sematical extension to the ::com::sun::star::sdbc::XResultSetUpdate interface which is supported via the ::com::sun::star::sdbc::ResultSet .

See also
XResultSetUpdate
::com::sun::star::sdbc::XResultSetUpdate
[ OPTIONAL ]
Description
is the interface for updating row data to the database.

The optional support of this interface is already implied with the support of the ::com::sun::star::sdbc::ResultSet .

However, note that the additional support of the XRowSetApproveBroadcaster interface results in a sematical extension: the methods ::com::sun::star::sdbc::XResultSetUpdate::insertRow , ::com::sun::star::sdbc::XResultSetUpdate::updateRow and ::com::sun::star::sdbc::XResultSetUpdate::deleteRow will now throw the RowSetVetoException if the action which is to be performed was vetoed by one of the XRowSetApproveListener 's.

::com::sun::star::sdbcx::XDeleteRows
[ OPTIONAL ]
Description
is the interface for deleting more than one row, identified by it's bookmark.

The optional support of this interface is already implied with the support of the ::com::sun::star::sdbcx::ResultSet .

However, note that the additional support of the XRowSetApproveBroadcaster interface results in a sematical extension: the method com::sun::star::sdbc::XDeleteRows::deleteRows will now throw the RowSetVetoException if the deletion was vetoed by one of the XRowSetApproveListener 's.

XResultSetAccess
Description
creates a second result set which is based on the same data.

The new result set is interoperable with the row set which created it, e.g., you can exchange bookmarks between both sets.

If the row set is not alive (i.e., it was not executed before), NULL is returned.

Properties' Summary
ActiveConnection is the connection generated by a DataSource or by a URL. It could also be set from outside. When set from outside the RowSet is not responsible for the closing of the connection.
DataSourceName is the name of the datasource to use, this could be a named datasource or the URL of a data access component.
Command is the command which should be executed, the type of command depends on the CommandType.
CommandType is the type of the command.
EscapeProcessing [ OPTIONAL ]
specifies if the Command should be analyzed on the client side before sending it to the database server.
ActiveCommand is the command which is currently used.
IgnoreResult indicates whether all results should be discarded or not.
Filter additional filter for a rowset.
ApplyFilter indicates whether the filter should be applied or not, default is false .
Order is a additional sort order definition for a rowset.
Privileges indicates the privileges for insert, update, and delete.
IsModified indicates that the current row is modified.
IsNew indicates that the current row is going to be inserted to the database.
RowCount contains the number of rows accessed in a the data source.
IsRowCountFinal indicates that all rows of te row set have been counted.
UpdateTableName [ OPTIONAL ]
is the name of the table which should be updated, this is usually used for queries which relate to more than one table.
UpdateCatalogName [ OPTIONAL ]
is the name of the table catalog
UpdateSchemaName [ OPTIONAL ]
is the name of the table schema.
Properties' Details
ActiveConnection
::com::sun::star::sdbc::XConnection ActiveConnection;
Description
is the connection generated by a DataSource or by a URL. It could also be set from outside. When set from outside the RowSet is not responsible for the closing of the connection.
DataSourceName
string DataSourceName;
Description
is the name of the datasource to use, this could be a named datasource or the URL of a data access component.
Command
string Command;
Description
is the command which should be executed, the type of command depends on the CommandType.
See also
CommandType
CommandType
long CommandType;
Description
is the type of the command.
See also
CommandType
EscapeProcessing
boolean EscapeProcessing;
[ OPTIONAL ]
Description
specifies if the Command should be analyzed on the client side before sending it to the database server.

The default value of this property is true . By switching it to false , you can pass backend-specific SQL statements, which are not standard SQL, to your database.

This property is evaluated if and only if CommandType equals CommandType::COMMAND .

ActiveCommand
[ readonly ] string ActiveCommand;
Description
is the command which is currently used.
See also
CommandType
IgnoreResult
boolean IgnoreResult;
Description
indicates whether all results should be discarded or not.
Filter
string Filter;
Description
additional filter for a rowset.
ApplyFilter
boolean ApplyFilter;
Description
indicates whether the filter should be applied or not, default is false .
Order
string Order;
Description
is a additional sort order definition for a rowset.
Privileges
[ readonly ] long Privileges;
Description
indicates the privileges for insert, update, and delete.
See also
::com::sun::star::sdbcx::Privilege
IsModified
[ readonly ] boolean IsModified;
Description
indicates that the current row is modified.
IsNew
[ readonly ] boolean IsNew;
Description
indicates that the current row is going to be inserted to the database.
RowCount
[ readonly ] long RowCount;
Description
contains the number of rows accessed in a the data source.
IsRowCountFinal
[ readonly ] boolean IsRowCountFinal;
Description
indicates that all rows of te row set have been counted.
UpdateTableName
string UpdateTableName;
[ OPTIONAL ]
Description
is the name of the table which should be updated, this is usually used for queries which relate to more than one table.
UpdateCatalogName
string UpdateCatalogName;
[ OPTIONAL ]
Description
is the name of the table catalog
UpdateSchemaName
string UpdateSchemaName;
[ OPTIONAL ]
Description
is the name of the table schema.

 
Top of Page