diff options
Diffstat (limited to 'offapi/com/sun/star/sdbc/XResultSet.idl')
-rw-r--r-- | offapi/com/sun/star/sdbc/XResultSet.idl | 345 |
1 files changed, 345 insertions, 0 deletions
diff --git a/offapi/com/sun/star/sdbc/XResultSet.idl b/offapi/com/sun/star/sdbc/XResultSet.idl new file mode 100644 index 000000000000..cf908ca0760b --- /dev/null +++ b/offapi/com/sun/star/sdbc/XResultSet.idl @@ -0,0 +1,345 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_sdbc_XResultSet_idl__ +#define __com_sun_star_sdbc_XResultSet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_sdbc_SQLException_idl__ +#include <com/sun/star/sdbc/SQLException.idl> +#endif + + module com { module sun { module star { module sdbc { + + published interface XStatement; + + +/** provides the navigation on a table of data. A + <type scope="com::sun::star::sdbc">ResultSet</type> + object is usually generated by executing a + <type scope="com::sun::star::sdbc">Statement</type> + . + + + <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 + <member scope="com::sun::star::sdbc">XResultSet::first()</member> + . + 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 + <member scope="com::sun::star::sdbc">XResultSet::next()</member> + 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 + <member scope="com::sun::star::sdbc">XResultSet::updateRow()</member> + , 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 + <type scope="com::sun::star::sdbc">ResultSet</type> + object. If the result set was generated some other way, such as by an + <type scope="com::sun::star::sdbc">XDatabaseMetaData</type> + 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); +}; + +//============================================================================= + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif |