303 lines
10 KiB
Text
303 lines
10 KiB
Text
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
|
|
module com { module sun { module star { module sdbc {
|
|
|
|
published interface XStatement;
|
|
|
|
|
|
/** provides the navigation on a table of data. A
|
|
com::sun::star::sdbc::ResultSet
|
|
object is usually generated by executing a
|
|
com::sun::star::sdbc::Statement.
|
|
|
|
|
|
<p>
|
|
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.
|
|
</p>
|
|
*/
|
|
published interface XResultSet: com::sun::star::uno::XInterface
|
|
{
|
|
|
|
/** moves the cursor down one row from its current position.
|
|
|
|
|
|
<p>
|
|
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.
|
|
</p>
|
|
<p>If an input stream is open for the current row, a call
|
|
to the method
|
|
<code>next</code>
|
|
will implicitly close it.
|
|
The ResultSet's warning chain is cleared when a new row is read.
|
|
</p>
|
|
@returns
|
|
`TRUE` if successful
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
boolean next() raises (SQLException);
|
|
|
|
/** 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.
|
|
*/
|
|
boolean isBeforeFirst() raises (SQLException);
|
|
|
|
/** 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.
|
|
*/
|
|
boolean isAfterLast() raises (SQLException);
|
|
|
|
/** 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.
|
|
*/
|
|
boolean isFirst() raises (SQLException);
|
|
|
|
/** indicates whether the cursor is on the last row of the result set.
|
|
|
|
|
|
<p>
|
|
<B>
|
|
Note:
|
|
</B>
|
|
Calling the method
|
|
<code>isAtLast</code>
|
|
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.
|
|
</p>
|
|
@returns
|
|
`TRUE` if so
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
boolean isLast() raises (SQLException);
|
|
|
|
/** 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.
|
|
*/
|
|
void beforeFirst() raises (SQLException);
|
|
|
|
/** 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.
|
|
*/
|
|
void afterLast() raises (SQLException);
|
|
|
|
/** moves the cursor to the first row in the result set.
|
|
@returns
|
|
`TRUE` if successful
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
boolean first() raises (SQLException);
|
|
|
|
/** moves the cursor to the last row in the result set.
|
|
@returns
|
|
`TRUE` if successful
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
boolean last() raises (SQLException);
|
|
|
|
/** 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.
|
|
*/
|
|
long getRow() raises (SQLException);
|
|
|
|
/** moves the cursor to the given row number in the result set.
|
|
|
|
|
|
<p>
|
|
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.
|
|
</p>
|
|
<p>
|
|
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
|
|
<code>absolute(-1)</code>
|
|
positions the
|
|
cursor on the last row,
|
|
<code>absolute(-2)</code>
|
|
indicates the next-to-last row, and so on.
|
|
</p>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<p>
|
|
Note: Calling
|
|
<code>absolute(1)</code>
|
|
is the same as calling com::sun::star::sdbc::XResultSet::first().
|
|
Calling <code>moveToPosition(-1)</code> is the same as calling
|
|
<code>moveToLast()</code>.
|
|
</p>
|
|
*/
|
|
boolean absolute([in] long row ) raises (SQLException);
|
|
|
|
/** moves the cursor a relative number of rows, either positive or negative.
|
|
|
|
|
|
<p>
|
|
Attempting to move beyond the first/last row in the result set
|
|
positions the cursor before/after
|
|
the first/last row. Calling
|
|
<code>relative(0)</code>
|
|
is valid, but does not change the cursor position.
|
|
</p>
|
|
<p>
|
|
Note: Calling
|
|
<code>relative(1)</code>
|
|
is different from calling
|
|
com::sun::star::sdbc::XResultSet::next()
|
|
because is makes sense to call
|
|
<code>next()</code>
|
|
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.
|
|
</p>
|
|
@param rows
|
|
how many rows should be moved relative to the current row
|
|
@returns
|
|
`TRUE` if successful
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
boolean relative([in]long rows) raises (SQLException);
|
|
|
|
/** moves the cursor to the previous row in the result set.
|
|
|
|
|
|
<p>
|
|
Note:
|
|
<code>previous()</code>
|
|
is not the same as
|
|
<code>relative(-1)</code>
|
|
because it makes sense to call
|
|
<code>previous()</code>
|
|
when there is no current row.
|
|
</p>
|
|
@returns
|
|
`TRUE` if successful
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
boolean previous() raises (SQLException);
|
|
|
|
/** refreshes the current row with its most recent value in
|
|
the database. Cannot be called when on the insert row.
|
|
The
|
|
<code>refreshRow</code>
|
|
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
|
|
<code>refreshRow</code>
|
|
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
|
|
<code>refreshRow</code>
|
|
is called after calling
|
|
<code>updateXXX</code>
|
|
, but before calling
|
|
com::sun::star::sdbc::XResultSet::updateRow()
|
|
, then the updates made to the row are lost.
|
|
Calling the method
|
|
<code>refreshRow</code>
|
|
frequently will likely slow performance.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
void refreshRow() raises (SQLException);
|
|
|
|
/** 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.
|
|
*/
|
|
boolean rowUpdated() raises (SQLException);
|
|
|
|
/** 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.
|
|
*/
|
|
boolean rowInserted() raises (SQLException);
|
|
|
|
/** 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.
|
|
*/
|
|
boolean rowDeleted() raises (SQLException);
|
|
|
|
/** returns the Statement that produced this
|
|
com::sun::star::sdbc::ResultSet
|
|
object. If the result set was generated some other way, such as by an
|
|
com::sun::star::sdbc::XDatabaseMetaData
|
|
method, this method returns `NULL`.
|
|
@returns
|
|
the statement object
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
com::sun::star::uno::XInterface getStatement() raises (SQLException);
|
|
};
|
|
|
|
|
|
}; }; }; };
|
|
|
|
/*===========================================================================
|
|
===========================================================================*/
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|