1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_sdbc_XParameters_idl__
24cdf0e10cSrcweir#define __com_sun_star_sdbc_XParameters_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
27cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir#ifndef __com_sun_star_util_Date_idl__
31cdf0e10cSrcweir#include <com/sun/star/util/Date.idl>
32cdf0e10cSrcweir#endif
33cdf0e10cSrcweir
34cdf0e10cSrcweir#ifndef __com_sun_star_util_DateTime_idl__
35cdf0e10cSrcweir#include <com/sun/star/util/DateTime.idl>
36cdf0e10cSrcweir#endif
37cdf0e10cSrcweir
38cdf0e10cSrcweir#ifndef __com_sun_star_util_Time_idl__
39cdf0e10cSrcweir#include <com/sun/star/util/Time.idl>
40cdf0e10cSrcweir#endif
41cdf0e10cSrcweir
42cdf0e10cSrcweir module com {  module sun {  module star {  module io {
43cdf0e10cSrcweir published interface XInputStream;
44cdf0e10cSrcweir};};};};
45cdf0e10cSrcweir
46cdf0e10cSrcweir#ifndef __com_sun_star_sdbc_SQLException_idl__
47cdf0e10cSrcweir#include <com/sun/star/sdbc/SQLException.idl>
48cdf0e10cSrcweir#endif
49cdf0e10cSrcweir
50cdf0e10cSrcweir module com {  module sun {  module star {  module sdbc {
51cdf0e10cSrcweir
52cdf0e10cSrcweir published interface XRef;
53cdf0e10cSrcweir published interface XArray;
54cdf0e10cSrcweir published interface XBlob;
55cdf0e10cSrcweir published interface XClob;
56cdf0e10cSrcweir
57cdf0e10cSrcweir
58cdf0e10cSrcweir/** is used for parameter setting, commonly implemented in conjunction with
59cdf0e10cSrcweir	PreparedStatements.
60cdf0e10cSrcweir
61cdf0e10cSrcweir
62cdf0e10cSrcweir	<p>
63cdf0e10cSrcweir	<b>Note:</b> The setXXX methods for setting IN parameter values
64cdf0e10cSrcweir	must specify types that are compatible with the defined SQL type of
65cdf0e10cSrcweir	the input parameter. For instance, if the IN parameter has SQL type
66cdf0e10cSrcweir	Integer, then the method
67cdf0e10cSrcweir	<member scope="com::sun::star::sdbc">XParameters::setInt()</member>
68cdf0e10cSrcweir	should be used.
69cdf0e10cSrcweir
70cdf0e10cSrcweir	</p>
71cdf0e10cSrcweir	<p>
72cdf0e10cSrcweir	If arbitrary parameter type conversions are required, the method
73cdf0e10cSrcweir	<member scope="com::sun::star::sdbc">XParameters::setObject()</member>
74cdf0e10cSrcweir	should be used with a target SQL type.
75cdf0e10cSrcweir	<br/>
76cdf0e10cSrcweir	<br/>
77cdf0e10cSrcweir	Example of setting a parameter;
78cdf0e10cSrcweir	<code>con</code>
79cdf0e10cSrcweir	is an active connection.
80cdf0e10cSrcweir	</p>
81cdf0e10cSrcweir
82cdf0e10cSrcweir	@example <listing>pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?")
83cdf0e10cSrcweir	pstmt.setDouble(1, 153833.00)
84cdf0e10cSrcweir	pstmt.setLong(2, 110592)
85cdf0e10cSrcweir	</listing>@see com::sun::star::sdbc::XPreparedStatement
86cdf0e10cSrcweir */
87cdf0e10cSrcweirpublished interface XParameters: com::sun::star::uno::XInterface
88cdf0e10cSrcweir{
89cdf0e10cSrcweir
90cdf0e10cSrcweir	/** sets the designated parameter to SQL NULL.
91cdf0e10cSrcweir	 */
92cdf0e10cSrcweir	void setNull([in]long parameterIndex,
93cdf0e10cSrcweir				 [in]long sqlType) raises (SQLException);
94cdf0e10cSrcweir	//-------------------------------------------------------------------------
95cdf0e10cSrcweir
96cdf0e10cSrcweir	/** sets the designated parameter to SQL NULL.  This version of setNull should
97cdf0e10cSrcweir		be used for user-named types and REF type parameters.  Examples
98cdf0e10cSrcweir		of user-named types include: STRUCT, DISTINCT, OBJECT, and
99cdf0e10cSrcweir		named array types.
100cdf0e10cSrcweir
101cdf0e10cSrcweir
102cdf0e10cSrcweir		<p>
103cdf0e10cSrcweir		<b>Note:</b> To be portable, applications must give the
104cdf0e10cSrcweir		SQL type code and the fully-qualified SQL type name when specifying
105cdf0e10cSrcweir		a NULL user-defined or REF parameter. In the case of a user-named type
106cdf0e10cSrcweir		the name is the type name of the parameter itself.  For a REF
107cdf0e10cSrcweir		parameter the name is the type name of the referenced type.  If
108cdf0e10cSrcweir		a SDBC driver does not need the type code or type name information,
109cdf0e10cSrcweir		it may ignore it.
110cdf0e10cSrcweir		<br/>
111cdf0e10cSrcweir		Although it is intended for user-named and Ref parameters,
112cdf0e10cSrcweir		this method may be used to set a null parameter of any JDBC type.
113cdf0e10cSrcweir		If the parameter does not have a user-named or REF type, the given
114cdf0e10cSrcweir		typeName is ignored.
115cdf0e10cSrcweir		</p>
116cdf0e10cSrcweir		@param parameterIndex
117cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
118cdf0e10cSrcweir		@param sqlType
119cdf0e10cSrcweir			the type of the column to set to <NULL/>
120cdf0e10cSrcweir		@param typeName
121cdf0e10cSrcweir			the name of the type
122cdf0e10cSrcweir		@throws SQLException
123cdf0e10cSrcweir			if a database access error occurs.
124cdf0e10cSrcweir	 */
125cdf0e10cSrcweir	void setObjectNull([in]long parameterIndex,
126cdf0e10cSrcweir				 	   [in]long sqlType,
127cdf0e10cSrcweir				 	   [in]string typeName) raises (SQLException);
128cdf0e10cSrcweir	//-------------------------------------------------------------------------
129cdf0e10cSrcweir
130cdf0e10cSrcweir	/** sets the designated parameter to a boolean value.  The driver converts this
131cdf0e10cSrcweir		to a SQL BIT value when it sends it to the database.
132cdf0e10cSrcweir		@param parameterIndex
133cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
134cdf0e10cSrcweir		@param x
135cdf0e10cSrcweir			the parameter value
136cdf0e10cSrcweir		@throws SQLException
137cdf0e10cSrcweir			if a database access error occurs.
138cdf0e10cSrcweir	 */
139cdf0e10cSrcweir	void setBoolean([in]long parameterIndex, [in]boolean x)
140cdf0e10cSrcweir		raises (SQLException);
141cdf0e10cSrcweir	//-------------------------------------------------------------------------
142cdf0e10cSrcweir
143cdf0e10cSrcweir	/** sets the designated parameter to a byte value.  The driver converts this
144cdf0e10cSrcweir		to a SQL TINYINT value when it sends it to the database.
145cdf0e10cSrcweir		@param parameterIndex
146cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
147cdf0e10cSrcweir		@param x
148cdf0e10cSrcweir			the parameter value
149cdf0e10cSrcweir		@throws SQLException
150cdf0e10cSrcweir			if a database access error occurs.
151cdf0e10cSrcweir	 */
152cdf0e10cSrcweir	void setByte([in]long parameterIndex, [in]byte x) raises (SQLException);
153cdf0e10cSrcweir	//-------------------------------------------------------------------------
154cdf0e10cSrcweir
155cdf0e10cSrcweir	/** sets the designated parameter to a short value.  The driver converts this
156cdf0e10cSrcweir		to a SQL SMALLINT value when it sends it to the database.
157cdf0e10cSrcweir		@param parameterIndex
158cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
159cdf0e10cSrcweir		@param x
160cdf0e10cSrcweir			the parameter value
161cdf0e10cSrcweir		@throws SQLException
162cdf0e10cSrcweir			if a database access error occurs.
163cdf0e10cSrcweir	 */
164cdf0e10cSrcweir	void setShort([in]long parameterIndex, [in]short x) raises (SQLException);
165cdf0e10cSrcweir	//-------------------------------------------------------------------------
166cdf0e10cSrcweir
167cdf0e10cSrcweir	/** sets the designated parameter to a long value.  The driver converts this
168cdf0e10cSrcweir		to a SQL INTEGER value when it sends it to the database.
169cdf0e10cSrcweir		@param parameterIndex
170cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
171cdf0e10cSrcweir		@param x
172cdf0e10cSrcweir			the parameter value
173cdf0e10cSrcweir		@throws SQLException
174cdf0e10cSrcweir			if a database access error occurs.
175cdf0e10cSrcweir	 */
176cdf0e10cSrcweir	void setInt([in]long parameterIndex, [in]long x) raises (SQLException);
177cdf0e10cSrcweir	//-------------------------------------------------------------------------
178cdf0e10cSrcweir
179cdf0e10cSrcweir	/** sets the designated parameter to a hyper value.  The driver converts this
180cdf0e10cSrcweir		to a SQL BIGINT value when it sends it to the database.
181cdf0e10cSrcweir		@param parameterIndex
182cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
183cdf0e10cSrcweir		@param x
184cdf0e10cSrcweir			the parameter value
185cdf0e10cSrcweir		@throws SQLException
186cdf0e10cSrcweir			if a database access error occurs.
187cdf0e10cSrcweir	 */
188cdf0e10cSrcweir	void setLong([in]long parameterIndex, [in]hyper x) raises (SQLException);
189cdf0e10cSrcweir	//-------------------------------------------------------------------------
190cdf0e10cSrcweir
191cdf0e10cSrcweir	/** sets the designated parameter to a float value. The driver converts this
192cdf0e10cSrcweir		to a SQL FLOAT value when it sends it to the database.
193cdf0e10cSrcweir		@param parameterIndex
194cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
195cdf0e10cSrcweir		@param x
196cdf0e10cSrcweir			the parameter value
197cdf0e10cSrcweir		@throws SQLException
198cdf0e10cSrcweir			if a database access error occurs.
199cdf0e10cSrcweir	 */
200cdf0e10cSrcweir	void setFloat([in]long parameterIndex, [in]float x) raises (SQLException);
201cdf0e10cSrcweir	//-------------------------------------------------------------------------
202cdf0e10cSrcweir
203cdf0e10cSrcweir	/** sets the designated parameter to a double value.  The driver converts this
204cdf0e10cSrcweir		to a SQL DOUBLE value when it sends it to the database.
205cdf0e10cSrcweir		@param parameterIndex
206cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
207cdf0e10cSrcweir		@param x
208cdf0e10cSrcweir			the parameter value
209cdf0e10cSrcweir		@throws SQLException
210cdf0e10cSrcweir			if a database access error occurs.
211cdf0e10cSrcweir	 */
212cdf0e10cSrcweir	void setDouble([in]long parameterIndex, [in]double x) raises (SQLException);
213cdf0e10cSrcweir	//-------------------------------------------------------------------------
214cdf0e10cSrcweir
215cdf0e10cSrcweir	/** sets the designated parameter to a string value. The driver converts this
216cdf0e10cSrcweir		to a SQL VARCHAR or LONGVARCHAR value (depending on the argument's
217cdf0e10cSrcweir		size relative to the driver's limits on VARCHARs) when it sends
218cdf0e10cSrcweir		it to the database.
219cdf0e10cSrcweir		@param parameterIndex
220cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
221cdf0e10cSrcweir		@param x
222cdf0e10cSrcweir			the parameter value
223cdf0e10cSrcweir		@throws SQLException
224cdf0e10cSrcweir			if a database access error occurs.
225cdf0e10cSrcweir	 */
226cdf0e10cSrcweir	void setString([in]long parameterIndex, [in]string x) raises (SQLException);
227cdf0e10cSrcweir	//-------------------------------------------------------------------------
228cdf0e10cSrcweir
229cdf0e10cSrcweir	/** sets the designated parameter to a sequence of bytes.  The driver converts
230cdf0e10cSrcweir		this to a SQL VARBINARY or LONGVARBINARY (depending on the
231cdf0e10cSrcweir		argument's size relative to the driver's limits on VARBINARYs)
232cdf0e10cSrcweir		when it sends it to the database.
233cdf0e10cSrcweir		@param parameterIndex
234cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
235cdf0e10cSrcweir		@param x
236cdf0e10cSrcweir			the parameter value
237cdf0e10cSrcweir		@throws SQLException
238cdf0e10cSrcweir			if a database access error occurs.
239cdf0e10cSrcweir	 */
240cdf0e10cSrcweir	void setBytes([in]long parameterIndex, [in]sequence<byte> x)
241cdf0e10cSrcweir		raises (SQLException);
242cdf0e10cSrcweir	//-------------------------------------------------------------------------
243cdf0e10cSrcweir
244cdf0e10cSrcweir	/** sets the designated parameter to a date value. The driver converts this
245cdf0e10cSrcweir		to a SQL DATE value when it sends it to the database.
246cdf0e10cSrcweir		@param parameterIndex
247cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
248cdf0e10cSrcweir		@param x
249cdf0e10cSrcweir			the parameter value
250cdf0e10cSrcweir		@throws SQLException
251cdf0e10cSrcweir			if a database access error occurs.
252cdf0e10cSrcweir	 */
253cdf0e10cSrcweir	void setDate([in]long parameterIndex, [in]com::sun::star::util::Date x)
254cdf0e10cSrcweir		raises (SQLException);
255cdf0e10cSrcweir	//-------------------------------------------------------------------------
256cdf0e10cSrcweir
257cdf0e10cSrcweir	/** sets the designated parameter to a time value. The driver converts this
258cdf0e10cSrcweir		to a SQL TIME value when it sends it to the database.
259cdf0e10cSrcweir		@param parameterIndex
260cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
261cdf0e10cSrcweir		@param x
262cdf0e10cSrcweir			the parameter value
263cdf0e10cSrcweir		@throws SQLException
264cdf0e10cSrcweir			if a database access error occurs.
265cdf0e10cSrcweir	 */
266cdf0e10cSrcweir	void setTime([in]long parameterIndex, [in]com::sun::star::util::Time x)
267cdf0e10cSrcweir		raises (SQLException);
268cdf0e10cSrcweir	//-------------------------------------------------------------------------
269cdf0e10cSrcweir
270cdf0e10cSrcweir	/** sets the designated parameter to a datetime value.  The driver
271cdf0e10cSrcweir		converts this to a SQL TIMESTAMP value when it sends it to the
272cdf0e10cSrcweir		database.
273cdf0e10cSrcweir		@param parameterIndex
274cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
275cdf0e10cSrcweir		@param x
276cdf0e10cSrcweir			the parameter value
277cdf0e10cSrcweir		@throws SQLException
278cdf0e10cSrcweir			if a database access error occurs.
279cdf0e10cSrcweir	 */
280cdf0e10cSrcweir	void setTimestamp([in]long parameterIndex,
281cdf0e10cSrcweir					  [in]com::sun::star::util::DateTime x) raises (SQLException);
282cdf0e10cSrcweir	//-------------------------------------------------------------------------
283cdf0e10cSrcweir
284cdf0e10cSrcweir	/** sets the designated parameter to the given input stream, which will have
285cdf0e10cSrcweir		the specified number of bytes.
286cdf0e10cSrcweir		When a very large binary value is input to a LONGVARBINARY or LONGVARCHAR
287cdf0e10cSrcweir		parameter, it may be more practical to send it via an
288cdf0e10cSrcweir		<type scope="com::sun::star::io">XInputStream</type>
289cdf0e10cSrcweir		. SDBC will read the data from the stream as needed, until it reaches end-of-file.
290cdf0e10cSrcweir		@param parameterIndex
291cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
292cdf0e10cSrcweir		@param x
293cdf0e10cSrcweir			the parameter value
294cdf0e10cSrcweir		@param length
295cdf0e10cSrcweir			the number of bytes in the stream
296cdf0e10cSrcweir		@throws SQLException
297cdf0e10cSrcweir			if a database access error occurs.
298cdf0e10cSrcweir	 */
299cdf0e10cSrcweir	void setBinaryStream([in]long parameterIndex,
300cdf0e10cSrcweir				   		 [in]com::sun::star::io::XInputStream x,
301cdf0e10cSrcweir			 	   		 [in]long length) raises (SQLException);
302cdf0e10cSrcweir	//-------------------------------------------------------------------------
303cdf0e10cSrcweir
304cdf0e10cSrcweir	/** sets the designated parameter to the given input stream, which will have
305cdf0e10cSrcweir		the specified number of bytes.
306cdf0e10cSrcweir		When a very large binary value is input to a LONGVARCHAR
307cdf0e10cSrcweir		parameter, it may be more practical to send it via a
308cdf0e10cSrcweir		<type scope="com::sun::star::io">XInputStream</type>
309cdf0e10cSrcweir		. SDBC will read the data from the stream as needed, until it reaches end-of-file.
310cdf0e10cSrcweir		@param parameterIndex
311cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
312cdf0e10cSrcweir		@param x
313cdf0e10cSrcweir			the parameter value
314cdf0e10cSrcweir		@param length
315cdf0e10cSrcweir			the number of characters in the stream
316cdf0e10cSrcweir		@throws SQLException
317cdf0e10cSrcweir			if a database access error occurs.
318cdf0e10cSrcweir	 */
319cdf0e10cSrcweir	void setCharacterStream([in]long parameterIndex,
320cdf0e10cSrcweir			 	   		 [in]com::sun::star::io::XInputStream x,
321cdf0e10cSrcweir			 	   		 [in]long length) raises (SQLException);
322cdf0e10cSrcweir	//-------------------------------------------------------------------------
323cdf0e10cSrcweir
324cdf0e10cSrcweir	/** sets the value of a parameter using an any.
325cdf0e10cSrcweir
326cdf0e10cSrcweir
327cdf0e10cSrcweir		<p>The given object will be converted to the targetSqlType
328cdf0e10cSrcweir		before being sent to the database.
329cdf0e10cSrcweir		If the object has a custom mapping (is of a class implementing SQLData),
330cdf0e10cSrcweir		the SDBC driver should call its method <code>writeSQL</code> to write it
331cdf0e10cSrcweir		to the SQL data stream.
332cdf0e10cSrcweir		If, on the other hand, the object is of a service implementing Ref, Blob,
333cdf0e10cSrcweir		Clob, Struct, or Array, the driver should pass it to the database as a
334cdf0e10cSrcweir		value of the corresponding SQL type.
335cdf0e10cSrcweir		</p>
336cdf0e10cSrcweir		<p>Note that this method may be used to pass database-specific
337cdf0e10cSrcweir		abstract data types.
338cdf0e10cSrcweir		</p>
339cdf0e10cSrcweir		@param parameterIndex
340cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
341cdf0e10cSrcweir		@param x
342cdf0e10cSrcweir			the parameter value
343cdf0e10cSrcweir		@throws SQLException
344cdf0e10cSrcweir			if a database access error occurs.
345cdf0e10cSrcweir	 */
346cdf0e10cSrcweir	void setObject([in]long parameterIndex, [in]any x)
347cdf0e10cSrcweir			raises (SQLException);
348cdf0e10cSrcweir	//-------------------------------------------------------------------------
349cdf0e10cSrcweir
350cdf0e10cSrcweir	/** set a value from the Datatype ANY for a parameter.
351cdf0e10cSrcweir
352cdf0e10cSrcweir
353cdf0e10cSrcweir
354cdf0e10cSrcweir		<p>The given object will be converted to the targetSqlType
355cdf0e10cSrcweir		before being sent to the database.
356cdf0e10cSrcweir		If the object has a custom mapping (is of a class implementing SQLData),
357cdf0e10cSrcweir		the SDBC driver should call its method <code>writeSQL</code> to write it
358cdf0e10cSrcweir		to the SQL data stream.
359cdf0e10cSrcweir		If, on the other hand, the object is of a service implementing Ref, Blob,
360cdf0e10cSrcweir		Clob, Struct, or Array, the driver should pass it to the database as a
361cdf0e10cSrcweir		value of the corresponding SQL type.
362cdf0e10cSrcweir		</p>
363cdf0e10cSrcweir		<p>Note that this method may be used to pass database-specific
364cdf0e10cSrcweir		abstract data types.
365cdf0e10cSrcweir		</p>
366cdf0e10cSrcweir		@param parameterIndex
367cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
368cdf0e10cSrcweir		@param x
369cdf0e10cSrcweir			the parameter value
370cdf0e10cSrcweir		@param targetSqlType
371cdf0e10cSrcweir			the SQL type (as defined in
372cdf0e10cSrcweir			<type scope="com::sun::star::sdbc">DataType</type>
373cdf0e10cSrcweir			) to be sent to the database. The scale argument may further qualify this type.
374cdf0e10cSrcweir		@param scale
375cdf0e10cSrcweir			for
376cdf0e10cSrcweir			<member scope="com::sun::star::sdbc">DataType::DECIMAL</member>
377cdf0e10cSrcweir			 or
378cdf0e10cSrcweir			 <member scope="com::sun::star::sdbc">DataType::NUMERIC</member>
379cdf0e10cSrcweir			 types, this is the number of digits after the decimal point. For all other types, this value will be ignored.
380cdf0e10cSrcweir		@throws SQLException
381cdf0e10cSrcweir			if a database access error occurs.
382cdf0e10cSrcweir	 */
383cdf0e10cSrcweir	void setObjectWithInfo([in]long parameterIndex,
384cdf0e10cSrcweir				   		   [in]any x, [in]long targetSqlType, [in]long scale)
385cdf0e10cSrcweir			raises (SQLException);
386cdf0e10cSrcweir	//-------------------------------------------------------------------------
387cdf0e10cSrcweir
388cdf0e10cSrcweir	/** sets a REF(&amp;lt;structured-type&amp;gt;) parameter.
389cdf0e10cSrcweir		@param parameterIndex
390cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
391cdf0e10cSrcweir		@param x
392cdf0e10cSrcweir			the parameter value
393cdf0e10cSrcweir		@throws SQLException
394cdf0e10cSrcweir			if a database access error occurs.
395cdf0e10cSrcweir	 */
396cdf0e10cSrcweir	void setRef ([in]long parameterIndex, [in]XRef x) raises (SQLException);
397cdf0e10cSrcweir	//-------------------------------------------------------------------------
398cdf0e10cSrcweir
399cdf0e10cSrcweir	/** sets a BLOB parameter.
400cdf0e10cSrcweir		@param parameterIndex
401cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
402cdf0e10cSrcweir		@param x
403cdf0e10cSrcweir			the parameter value
404cdf0e10cSrcweir		@throws SQLException
405cdf0e10cSrcweir			if a database access error occurs.
406cdf0e10cSrcweir	 */
407cdf0e10cSrcweir	void setBlob ([in]long parameterIndex, [in]XBlob x) raises (SQLException);
408cdf0e10cSrcweir	//-------------------------------------------------------------------------
409cdf0e10cSrcweir
410cdf0e10cSrcweir	/** sets a CLOB parameter.
411cdf0e10cSrcweir		@param parameterIndex
412cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
413cdf0e10cSrcweir		@param x
414cdf0e10cSrcweir			the parameter value
415cdf0e10cSrcweir		@throws SQLException
416cdf0e10cSrcweir			if a database access error occurs.
417cdf0e10cSrcweir	 */
418cdf0e10cSrcweir	void setClob ([in]long parameterIndex, [in]XClob x) raises (SQLException);
419cdf0e10cSrcweir	//-------------------------------------------------------------------------
420cdf0e10cSrcweir
421cdf0e10cSrcweir	/** sets an Array parameter.
422cdf0e10cSrcweir		@param parameterIndex
423cdf0e10cSrcweir			the first parameter is 1, the second is 2, ...
424cdf0e10cSrcweir		@param x
425cdf0e10cSrcweir			the parameter value
426cdf0e10cSrcweir		@throws SQLException
427cdf0e10cSrcweir			if a database access error occurs.
428cdf0e10cSrcweir	 */
429cdf0e10cSrcweir	void setArray ([in]long parameterIndex, [in]XArray x) raises (SQLException);
430cdf0e10cSrcweir
431cdf0e10cSrcweir	//-------------------------------------------------------------------------
432cdf0e10cSrcweir
433cdf0e10cSrcweir	/** clears the current parameter values immediately.
434cdf0e10cSrcweir
435cdf0e10cSrcweir
436cdf0e10cSrcweir		<p>In general, parameter values remain in force for repeated use of a
437cdf0e10cSrcweir		Statement. Setting a parameter value automatically clears its
438cdf0e10cSrcweir		previous value. However, in some cases it is useful to immediately
439cdf0e10cSrcweir		release the resources used by the current parameter values; this can
440cdf0e10cSrcweir		be done by calling clearParameters.
441cdf0e10cSrcweir		</p>
442cdf0e10cSrcweir		@throws SQLException
443cdf0e10cSrcweir			if a database access error occurs.
444cdf0e10cSrcweir	 */
445cdf0e10cSrcweir	void clearParameters() raises (SQLException);
446cdf0e10cSrcweir};
447cdf0e10cSrcweir
448cdf0e10cSrcweir//=============================================================================
449cdf0e10cSrcweir
450cdf0e10cSrcweir}; }; }; };
451cdf0e10cSrcweir
452cdf0e10cSrcweir/*===========================================================================
453cdf0e10cSrcweir===========================================================================*/
454cdf0e10cSrcweir#endif
455