/************************************************************************* * * $RCSfile: XResultSet.idl,v $ * * $Revision: 1.2 $ * * last change: $Author: mi $ $Date: 2000-11-06 13:16:34 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses * * - GNU Lesser General Public License Version 2.1 * - Sun Industry Standards Source License Version 1.1 * * Sun Microsystems Inc., October, 2000 * * GNU Lesser General Public License Version 2.1 * ============================================= * Copyright 2000 by Sun Microsystems, Inc. * 901 San Antonio Road, Palo Alto, CA 94303, USA * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License version 2.1, as published by the Free Software Foundation. * * This library 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 for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * * Sun Industry Standards Source License Version 1.1 * ================================================= * The contents of this file are subject to the Sun Industry Standards * Source License Version 1.1 (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.openoffice.org/license.html. * * Software provided under this License is provided on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. * See the License for the specific provisions governing your rights and * obligations concerning the Software. * * The Initial Developer of the Original Code is: Sun Microsystems, Inc. * * Copyright: 2000 by Sun Microsystems, Inc. * * All Rights Reserved. * * Contributor(s): _______________________________________ * * ************************************************************************/ #ifndef __com_sun_star_sdbc_XResultSet_idl__ #define __com_sun_star_sdbc_XResultSet_idl__ #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif #ifndef __com_sun_star_sdbc_SQLException_idl__ #include #endif module com { module sun { module star { module sdbc { interface XStatement; // DocMerge from xml: interface com::sun::star::sdbc::XResultSet /** 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.

*/ [ uik(D6B60249-9067-11d3-9EE00010-5AD7A5C4), ident("XResultSet", 1.0) ] interface XResultSet: com::sun::star::uno::XInterface { //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::next /** 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 moveNext will implicitly close it. The ResultSet's warning chain is cleared when a new row is read.

*/ boolean next() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::isBeforeFirst /** indicates whether the cursor is before the first row in the result set. */ boolean isBeforeFirst() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::isAfterLast /** indicates whether the cursor is after the last row in the result set. */ boolean isAfterLast() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::isFirst /** indicates whether the cursor is on the first row of the result set. */ boolean isFirst() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::isLast /** 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.

*/ boolean isLast() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::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. */ void beforeFirst() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::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. */ void afterLast() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::first /** moves the cursor to the first row in the result set. */ boolean first() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::last /** moves the cursor to the last row in the result set. */ boolean last() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::getRow /** retrieves the current row number. The first row is number 1, the second number 2, and so on. */ long getRow() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::absolute /** 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 moveToPosition(-1) positions the cursor on the last row, moveToPosition(-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 moveToPosition(1) is the same as calling moveToFirst(). Calling moveToPosition(-1) is the same as calling moveToLast().

*/ boolean absolute([in] long row ) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::relative /** 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 moveRelative(0) is valid, but does not change the cursor position.

Note: Calling moveRelative(1) is different from calling moveNext() because is makes sense to call moveNext() 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.

*/ boolean relative([in]long rows) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::previous /** 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.

*/ boolean previous() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::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 updateRow, then the updates made to the row are lost. Calling the method refreshRow frequently will likely slow performance. */ void refreshRow() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::rowUpdated /** indicates whether the current row has been updated. The value returned depends on whether or not the result set can detect updates. */ boolean rowUpdated() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::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. */ boolean rowInserted() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::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. */ boolean rowDeleted() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XResultSet::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 . */ [const]com::sun::star::uno::XInterface getStatement() raises (SQLException); }; //============================================================================= }; }; }; }; /*=========================================================================== $Log: not supported by cvs2svn $ Revision 1.1.1.1 2000/09/18 23:35:42 hjs initial import Revision 1.8 2000/09/11 11:52:43 mi documentation merged from XML Revision 1.6 2000/03/30 12:20:39 dg #74028# missing documentation completed Revision 1.5 2000/03/16 11:29:22 mi UCB complient documentation (optional) Revision 1.4 2000/02/07 11:24:53 mi zu #70728# missing documentation marked Revision 1.3 2000/01/06 07:27:42 dg #70278# rowDeleted moved to XResultSet Revision 1.2 1999/12/13 13:47:55 dg #70278# XSQLErrorBroadcaster removed Revision 1.1 1999/11/24 08:41:08 dg new StarDataBaseConnectivity ===========================================================================*/ #endif