xref: /AOO41X/main/offapi/com/sun/star/sdbc/XRow.idl (revision d1766043198e81d0bcfc626e12893e7b4d7e31ca)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_sdbc_XRow_idl__
24#define __com_sun_star_sdbc_XRow_idl__
25
26#ifndef __com_sun_star_uno_XInterface_idl__
27#include <com/sun/star/uno/XInterface.idl>
28#endif
29
30#ifndef __com_sun_star_util_Date_idl__
31#include <com/sun/star/util/Date.idl>
32#endif
33
34#ifndef __com_sun_star_util_DateTime_idl__
35#include <com/sun/star/util/DateTime.idl>
36#endif
37
38#ifndef __com_sun_star_util_Time_idl__
39#include <com/sun/star/util/Time.idl>
40#endif
41
42 module com {  module sun {  module star {  module io {
43 published interface XInputStream;
44};};};};
45
46 module com {  module sun {  module star {  module container {
47 published interface XNameAccess;
48};};};};
49
50#ifndef __com_sun_star_sdbc_SQLException_idl__
51#include <com/sun/star/sdbc/SQLException.idl>
52#endif
53
54 module com {  module sun {  module star {  module sdbc {
55
56 published interface XRef;
57 published interface XArray;
58 published interface XBlob;
59 published interface XClob;
60
61
62/** is used to access data which is collected in a row.
63    All methods raise a
64    <type scope="com::sun::star::sdbc">SQLException</type>
65    if a database access error occurs.
66 */
67published interface XRow: com::sun::star::uno::XInterface
68{
69    //-------------------------------------------------------------------------
70
71    /** reports whether the last column read had a value of SQL NULL.
72        Note that you must first call getXXX on a column to try to read
73        its value and then call wasNull() to see if the value read was
74        SQL NULL.
75
76        @returns
77            <TRUE/> if last column read was SQL NULL and <FALSE/> otherwise
78        @throws SQLException
79                if a database access error occurs.
80     */
81    boolean wasNull() raises (SQLException);
82    //-------------------------------------------------------------------------
83
84    /** gets the value of a column in the current row as a string.
85        @param columnIndex
86            the first column is 1, the second is 2,
87        @returns
88            the column value; if the value is SQL NULL, the result is null
89        @throws SQLException
90                if a database access error occurs.
91     */
92    string getString([in]long columnIndex) raises (SQLException);
93    //-------------------------------------------------------------------------
94
95    /** gets the value of a column in the current row as boolean.
96        @param columnIndex
97            the first column is 1, the second is 2,
98        @returns
99            the column value; if the value is SQL NULL, the result is null
100        @throws SQLException
101                if a database access error occurs.
102     */
103    boolean getBoolean([in]long columnIndex) raises (SQLException);
104    //-------------------------------------------------------------------------
105
106    /** get the value of a column in the current row as a byte.
107        @param columnIndex
108            the first column is 1, the second is 2,
109        @returns
110            the column value; if the value is SQL NULL, the result is null
111        @throws SQLException
112                if a database access error occurs.
113     */
114    byte getByte([in]long columnIndex) raises (SQLException);
115    //-------------------------------------------------------------------------
116
117    /** gets the value of a column in the current row as a short.
118        @param columnIndex
119            the first column is 1, the second is 2,
120        @returns
121            the column value; if the value is SQL NULL, the result is null
122        @throws SQLException
123                if a database access error occurs.
124     */
125    short getShort([in]long columnIndex) raises (SQLException);
126    //-------------------------------------------------------------------------
127
128    /** get the value of a column in the current row as an integer.
129        @param columnIndex
130            the first column is 1, the second is 2,
131        @returns
132            the column value; if the value is SQL NULL, the result is null
133        @throws SQLException
134                if a database access error occurs.
135     */
136    long getInt([in]long columnIndex) raises (SQLException);
137    //-------------------------------------------------------------------------
138
139    /** get the value of a column in the current row as a long.
140        @param columnIndex
141            the first column is 1, the second is 2,
142        @returns
143            the column value; if the value is SQL NULL, the result is null
144        @throws SQLException
145                if a database access error occurs.
146     */
147    hyper getLong([in]long columnIndex) raises (SQLException);
148    //-------------------------------------------------------------------------
149
150    /** gets the value of a column in the current row as a float.
151        @param columnIndex
152            the first column is 1, the second is 2,
153        @returns
154            the column value; if the value is SQL NULL, the result is null
155        @throws SQLException
156                if a database access error occurs.
157     */
158    float getFloat([in]long columnIndex) raises (SQLException);
159    //-------------------------------------------------------------------------
160
161    /** gets the value of a column in the current row as a double.
162        @param columnIndex
163            the first column is 1, the second is 2,
164        @returns
165            the column value; if the value is SQL NULL, the result is null
166        @throws SQLException
167                if a database access error occurs.
168     */
169    double getDouble([in]long columnIndex) raises (SQLException);
170    //-------------------------------------------------------------------------
171
172    /** gets the value of a column in the current row as a byte array.
173             The bytes represent the raw values returned by the driver.
174             @param columnIndex
175                the first column is 1, the second is 2, ...
176             @returns
177                the column value; if the value is SQL NULL, the result is empty.
178             @throws SQLException
179                if a database access error occurs.
180     */
181    sequence<byte> getBytes([in]long columnIndex) raises (SQLException);
182    //-------------------------------------------------------------------------
183
184    /** gets the value of a column in the current row as a date object.
185        @param columnIndex
186            the first column is 1, the second is 2,
187        @returns
188            the column value; if the value is SQL NULL, the result is null
189        @throws SQLException
190                if a database access error occurs.
191     */
192    com::sun::star::util::Date getDate([in]long columnIndex)
193        raises (SQLException);
194    //-------------------------------------------------------------------------
195
196    /** gets the value of a column in the current row as a time object.
197        @param columnIndex
198            the first column is 1, the second is 2,
199        @returns
200            the column value; if the value is SQL NULL, the result is null
201        @throws SQLException
202                if a database access error occurs.
203     */
204    com::sun::star::util::Time getTime([in]long columnIndex)
205        raises (SQLException);
206    //-------------------------------------------------------------------------
207
208    /** gets the value of a column in the current row as a datetime object.
209        @param columnIndex
210            the first column is 1, the second is 2,
211        @returns
212            the column value; if the value is SQL NULL, the result is null
213        @throws SQLException
214                if a database access error occurs.
215     */
216    com::sun::star::util::DateTime getTimestamp([in]long columnIndex)
217        raises (SQLException);
218    //-------------------------------------------------------------------------
219
220    /** gets the value of a column in the current row as a stream of
221        uninterpreted bytes. The value can then be read in chunks from the
222        stream. This method is particularly suitable for retrieving large
223        LONGVARBINARY values.
224
225
226        <p>
227        <b>Note:</b> All the data in the returned stream must be
228        read prior to getting the value of any other column. The next
229        call to a get method implicitly closes the stream. Also, a
230        stream may return 0 when the method
231        <member scope="com::sun::star::io">XInputStream::available()</member>
232        is called whether there is data
233        available or not.
234        </p>
235        @param columnIndex
236            the first column is 1, the second is 2,
237        @returns
238            the column value; if the value is SQL NULL, the result is null
239        @throws SQLException
240                if a database access error occurs.
241     */
242    com::sun::star::io::XInputStream getBinaryStream([in]long columnIndex)
243        raises (SQLException);
244    //-------------------------------------------------------------------------
245
246    /** gets the value of a column in the current row as a stream of
247        uninterpreted bytes. The value can then be read in chunks from the
248        stream. This method is particularly suitable for retrieving large
249        LONGVARBINARY or LONGVARCHAR values.
250
251
252        <p>
253        <b>Note:</b> All the data in the returned stream must be
254        read prior to getting the value of any other column. The next
255        call to a get method implicitly closes the stream. Also, a
256        stream may return 0 when the method
257        <member scope="com::sun::star::io">XInputStream::available()</member>
258        is called whether there is data
259        available or not.
260        </p>
261        @param columnIndex
262            the first column is 1, the second is 2,
263        @returns
264            the column value; if the value is SQL NULL, the result is null
265        @throws SQLException
266                if a database access error occurs.
267     */
268    com::sun::star::io::XInputStream getCharacterStream([in]long columnIndex)
269        raises (SQLException);
270    //-------------------------------------------------------------------------
271
272    /** returns the value of a column in the current row as an object.
273        This method uses the given
274        <code>Map</code>
275        object for the custom mapping of the SQL structure or distinct type
276        that is being retrieved.
277        @param columnIndex
278            the first column is 1, the second is 2,
279        @param typeMap
280            the map of types which should be used to get the column value
281        @returns
282            the column value; if the value is SQL NULL, the result is null
283        @throws SQLException
284                if a database access error occurs.
285     */
286    any getObject([in]long columnIndex,
287                  [in]com::sun::star::container::XNameAccess typeMap)
288        raises (SQLException);
289    //-------------------------------------------------------------------------
290
291    /** gets a REF(&amp;lt;structured-type&amp;gt;) column value from the current row.
292        @param columnIndex
293            the first column is 1, the second is 2,
294        @returns
295            the column value; if the value is SQL NULL, the result is null
296        @throws SQLException
297                if a database access error occurs.
298     */
299    XRef getRef([in]long columnIndex) raises (SQLException);
300    //-------------------------------------------------------------------------
301
302    /** gets a BLOB value in the current row.
303        @param columnIndex
304            the first column is 1, the second is 2,
305        @returns
306            the column value; if the value is SQL NULL, the result is null
307        @throws SQLException
308                if a database access error occurs.
309     */
310    XBlob getBlob([in]long columnIndex) raises (SQLException);
311    //-------------------------------------------------------------------------
312
313    /** gets a CLOB value in the current row of this
314        <code>ResultSet</code>
315        object.
316        @param columnIndex
317            the first column is 1, the second is 2,
318        @returns
319            the column value; if the value is SQL NULL, the result is null
320        @throws SQLException
321            if a database access error occurs.
322     */
323    XClob getClob([in]long columnIndex) raises (SQLException);
324    //-------------------------------------------------------------------------
325
326    /** gets a SQL ARRAY value from the current row of this
327        <code>ResultSet</code>
328        object.
329        @param columnIndex
330            the first column is 1, the second is 2,
331        @returns
332            the column value; if the value is SQL NULL, the result is null
333        @throws SQLException
334                if a database access error occurs.
335     */
336    XArray getArray([in]long columnIndex) raises (SQLException);
337};
338
339//=============================================================================
340
341}; }; }; };
342
343/*===========================================================================
344===========================================================================*/
345#endif
346