summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/sdbc/XResultSet.idl
blob: ea81ad2ce4314617a0d360e71914d7c91ef1757a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
/*************************************************************************
 *
 *  $RCSfile: XResultSet.idl,v $
 *
 *  $Revision: 1.7 $
 *
 *  last change: $Author: hr $ $Date: 2003-03-26 13:55:31 $
 *
 *  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 <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 {

interface XStatement;


// DocMerge from xml: interface com::sun::star::sdbc::XResultSet
/** 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>
 */
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.


        <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);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSet::isBeforeFirst
    /** 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);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSet::isAfterLast
    /** 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);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSet::isFirst
    /** 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);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSet::isLast
    /** 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);
    //-------------------------------------------------------------------------

    // 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.
        @throws SQLException
            if a database access error occurs.
     */
    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.
        @throws SQLException
            if a database access error occurs.
     */
    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.
        @returns
         <TRUE/> if successful
        @throws SQLException
            if a database access error occurs.
     */
    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.
        @returns
         <TRUE/> if successful
        @throws SQLException
            if a database access error occurs.
     */
    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.
        @returns
         the current position
        @throws SQLException
            if a database access error occurs.
     */
    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.


        <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);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSet::relative
    /** 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);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSet::previous
    /** 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);
    //-------------------------------------------------------------------------

    // 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
        <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);
    //-------------------------------------------------------------------------

    // 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.
        @returns
            <TRUE/> if successful
        @throws SQLException
            if a database access error occurs.
     */
    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.
        @returns
            <TRUE/> if successful
        @throws SQLException
            if a database access error occurs.
     */
    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.
        @returns
            <TRUE/> if successful
        @throws SQLException
            if a database access error occurs.
     */
    boolean rowDeleted() raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSet::getStatement
    /** 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