|
|||||||||||||||||||
Source file | Conditionals | Statements | Methods | TOTAL | |||||||||||||||
PreparedStatementWrapper.java | - | 100% | 100% | 100% |
|
1 | /* | |
2 | * Copyright (c) 1998, 2005 Gargoyle Software Inc. All rights reserved. | |
3 | * | |
4 | * Redistribution and use in source and binary forms, with or without | |
5 | * modification, are permitted provided that the following conditions are met: | |
6 | * | |
7 | * 1. Redistributions of source code must retain the above copyright notice, | |
8 | * this list of conditions and the following disclaimer. | |
9 | * 2. Redistributions in binary form must reproduce the above copyright notice, | |
10 | * this list of conditions and the following disclaimer in the documentation | |
11 | * and/or other materials provided with the distribution. | |
12 | * 3. The end-user documentation included with the redistribution, if any, must | |
13 | * include the following acknowledgment: | |
14 | * | |
15 | * "This product includes software developed by Gargoyle Software Inc. | |
16 | * (http://www.GargoyleSoftware.com/)." | |
17 | * | |
18 | * Alternately, this acknowledgment may appear in the software itself, if | |
19 | * and wherever such third-party acknowledgments normally appear. | |
20 | * 4. The name "Gargoyle Software" must not be used to endorse or promote | |
21 | * products derived from this software without prior written permission. | |
22 | * For written permission, please contact info@GargoyleSoftware.com. | |
23 | * 5. Products derived from this software may not be called "GSBase", nor may | |
24 | * "GSBase" appear in their name, without prior written permission of | |
25 | * Gargoyle Software Inc. | |
26 | * | |
27 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | |
28 | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | |
29 | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARGOYLE | |
30 | * SOFTWARE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |
31 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
32 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | |
33 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | |
34 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
35 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |
36 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
37 | */ | |
38 | package com.gargoylesoftware.base.resource.jdbc; | |
39 | ||
40 | import java.io.InputStream; | |
41 | import java.io.Reader; | |
42 | import java.math.BigDecimal; | |
43 | import java.sql.Array; | |
44 | import java.sql.Blob; | |
45 | import java.sql.Clob; | |
46 | import java.sql.Date; | |
47 | import java.sql.PreparedStatement; | |
48 | import java.sql.Ref; | |
49 | import java.sql.ResultSet; | |
50 | import java.sql.ResultSetMetaData; | |
51 | import java.sql.ParameterMetaData; | |
52 | import java.sql.SQLException; | |
53 | import java.sql.Time; | |
54 | import java.sql.Timestamp; | |
55 | import java.util.Calendar; | |
56 | ||
57 | /** | |
58 | * A wrapper for a PreparedStatement | |
59 | * | |
60 | * @version $Revision: 1.4 $ | |
61 | * @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a> | |
62 | */ | |
63 | ||
64 | public class PreparedStatementWrapper | |
65 | extends | |
66 | StatementWrapper | |
67 | implements | |
68 | PreparedStatement { | |
69 | ||
70 | /** | |
71 | */ | |
72 | private final PreparedStatement delegate_; | |
73 | ||
74 | ||
75 | /** | |
76 | * Create a PreparedStatementWrapper | |
77 | * | |
78 | * @param statement The PreparedStatement that we are wrapping | |
79 | */ | |
80 | 236 | public PreparedStatementWrapper( final PreparedStatement statement ) { |
81 | 236 | super( statement ); |
82 | 236 | delegate_ = statement; |
83 | } | |
84 | ||
85 | ||
86 | /** | |
87 | * Sets the designated parameter to SQL <code>NULL</code>. <P> | |
88 | * | |
89 | * <B>Note:</B> You must specify the parameter's SQL type. | |
90 | * | |
91 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
92 | * @param sqlType the SQL type code defined in <code>java.sql.Types</code> | |
93 | * @exception SQLException if a database access error occurs | |
94 | */ | |
95 | 4 | public final void setNull( int parameterIndex, int sqlType ) |
96 | throws SQLException { | |
97 | 4 | checkIsOpen(); |
98 | 2 | delegate_.setNull( parameterIndex, sqlType ); |
99 | } | |
100 | ||
101 | ||
102 | /** | |
103 | * Sets the designated parameter to a Java <code>boolean</code> value. The | |
104 | * driver converts this to an SQL <code>BIT</code> value when it sends it | |
105 | * to the database. | |
106 | * | |
107 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
108 | * @param x the parameter value | |
109 | * @exception SQLException if a database access error occurs | |
110 | */ | |
111 | 4 | public final void setBoolean( int parameterIndex, boolean x ) |
112 | throws SQLException { | |
113 | 4 | checkIsOpen(); |
114 | 2 | delegate_.setBoolean( parameterIndex, x ); |
115 | } | |
116 | ||
117 | ||
118 | /** | |
119 | * Sets the designated parameter to a Java <code>byte</code> value. The | |
120 | * driver converts this to an SQL <code>TINYINT</code> value when it sends | |
121 | * it to the database. | |
122 | * | |
123 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
124 | * @param x the parameter value | |
125 | * @exception SQLException if a database access error occurs | |
126 | */ | |
127 | 4 | public final void setByte( int parameterIndex, byte x ) |
128 | throws SQLException { | |
129 | 4 | checkIsOpen(); |
130 | 2 | delegate_.setByte( parameterIndex, x ); |
131 | } | |
132 | ||
133 | ||
134 | /** | |
135 | * Sets the designated parameter to a Java <code>short</code> value. The | |
136 | * driver converts this to an SQL <code>SMALLINT</code> value when it sends | |
137 | * it to the database. | |
138 | * | |
139 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
140 | * @param x the parameter value | |
141 | * @exception SQLException if a database access error occurs | |
142 | */ | |
143 | 4 | public final void setShort( int parameterIndex, short x ) |
144 | throws SQLException { | |
145 | 4 | checkIsOpen(); |
146 | 2 | delegate_.setShort( parameterIndex, x ); |
147 | } | |
148 | ||
149 | ||
150 | /** | |
151 | * Sets the designated parameter to a Java <code>int</code> value. The | |
152 | * driver converts this to an SQL <code>INTEGER</code> value when it sends | |
153 | * it to the database. | |
154 | * | |
155 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
156 | * @param x the parameter value | |
157 | * @exception SQLException if a database access error occurs | |
158 | */ | |
159 | 4 | public final void setInt( int parameterIndex, int x ) |
160 | throws SQLException { | |
161 | 4 | checkIsOpen(); |
162 | 2 | delegate_.setInt( parameterIndex, x ); |
163 | } | |
164 | ||
165 | ||
166 | /** | |
167 | * Sets the designated parameter to a Java <code>long</code> value. The | |
168 | * driver converts this to an SQL <code>BIGINT</code> value when it sends | |
169 | * it to the database. | |
170 | * | |
171 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
172 | * @param x the parameter value | |
173 | * @exception SQLException if a database access error occurs | |
174 | */ | |
175 | 4 | public final void setLong( int parameterIndex, long x ) |
176 | throws SQLException { | |
177 | 4 | checkIsOpen(); |
178 | 2 | delegate_.setLong( parameterIndex, x ); |
179 | } | |
180 | ||
181 | ||
182 | /** | |
183 | * Sets the designated parameter to a Java <code>float</code> value. The | |
184 | * driver converts this to an SQL <code>FLOAT</code> value when it sends it | |
185 | * to the database. | |
186 | * | |
187 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
188 | * @param x the parameter value | |
189 | * @exception SQLException if a database access error occurs | |
190 | */ | |
191 | 4 | public final void setFloat( int parameterIndex, float x ) |
192 | throws SQLException { | |
193 | 4 | checkIsOpen(); |
194 | 2 | delegate_.setFloat( parameterIndex, x ); |
195 | } | |
196 | ||
197 | ||
198 | /** | |
199 | * Sets the designated parameter to a Java <code>double</code> value. The | |
200 | * driver converts this to an SQL <code>DOUBLE</code> value when it sends | |
201 | * it to the database. | |
202 | * | |
203 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
204 | * @param x the parameter value | |
205 | * @exception SQLException if a database access error occurs | |
206 | */ | |
207 | 4 | public final void setDouble( int parameterIndex, double x ) |
208 | throws SQLException { | |
209 | 4 | checkIsOpen(); |
210 | 2 | delegate_.setDouble( parameterIndex, x ); |
211 | } | |
212 | ||
213 | ||
214 | /** | |
215 | * Sets the designated parameter to a <code>java.math.BigDecimal</code> | |
216 | * value. The driver converts this to an SQL <code>NUMERIC</code> value | |
217 | * when it sends it to the database. | |
218 | * | |
219 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
220 | * @param x the parameter value | |
221 | * @exception SQLException if a database access error occurs | |
222 | */ | |
223 | 4 | public final void setBigDecimal( int parameterIndex, BigDecimal x ) |
224 | throws SQLException { | |
225 | 4 | checkIsOpen(); |
226 | 2 | delegate_.setBigDecimal( parameterIndex, x ); |
227 | } | |
228 | ||
229 | ||
230 | /** | |
231 | * Sets the designated parameter to a Java <code>String</code> value. The | |
232 | * driver converts this to an SQL <code>VARCHAR</code> or <code>LONGVARCHAR</code> | |
233 | * value (depending on the argument's size relative to the driver's limits | |
234 | * on <code>VARCHAR</code> values) when it sends it to the database. | |
235 | * | |
236 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
237 | * @param x the parameter value | |
238 | * @exception SQLException if a database access error occurs | |
239 | */ | |
240 | 4 | public final void setString( int parameterIndex, String x ) |
241 | throws SQLException { | |
242 | 4 | checkIsOpen(); |
243 | 2 | delegate_.setString( parameterIndex, x ); |
244 | } | |
245 | ||
246 | ||
247 | /** | |
248 | * Sets the designated parameter to a Java array of bytes. The driver | |
249 | * converts this to an SQL <code>VARBINARY</code> or <code>LONGVARBINARY</code> | |
250 | * (depending on the argument's size relative to the driver's limits on | |
251 | * <code>VARBINARY</code> values) when it sends it to the database. | |
252 | * | |
253 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
254 | * @param x the parameter value | |
255 | * @exception SQLException if a database access error occurs | |
256 | */ | |
257 | 4 | public final void setBytes( int parameterIndex, byte x[] ) |
258 | throws SQLException { | |
259 | 4 | checkIsOpen(); |
260 | 2 | delegate_.setBytes( parameterIndex, x ); |
261 | } | |
262 | ||
263 | ||
264 | /** | |
265 | * Sets the designated parameter to a <code<java.sql.Date</code> value. The | |
266 | * driver converts this to an SQL <code>DATE</code> value when it sends it | |
267 | * to the database. | |
268 | * | |
269 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
270 | * @param x the parameter value | |
271 | * @exception SQLException if a database access error occurs | |
272 | */ | |
273 | 4 | public final void setDate( int parameterIndex, Date x ) |
274 | throws SQLException { | |
275 | 4 | checkIsOpen(); |
276 | 2 | delegate_.setDate( parameterIndex, x ); |
277 | } | |
278 | ||
279 | ||
280 | /** | |
281 | * Sets the designated parameter to a <code>java.sql.Time</code> value. The | |
282 | * driver converts this to an SQL <code>TIME</code> value when it sends it | |
283 | * to the database. | |
284 | * | |
285 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
286 | * @param x the parameter value | |
287 | * @exception SQLException if a database access error occurs | |
288 | */ | |
289 | 4 | public final void setTime( int parameterIndex, java.sql.Time x ) |
290 | throws SQLException { | |
291 | 4 | checkIsOpen(); |
292 | 2 | delegate_.setTime( parameterIndex, x ); |
293 | } | |
294 | ||
295 | ||
296 | /** | |
297 | * Sets the designated parameter to a <code>java.sql.Timestamp</code> | |
298 | * value. The driver converts this to an SQL <code>TIMESTAMP</code> value | |
299 | * when it sends it to the database. | |
300 | * | |
301 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
302 | * @param x the parameter value | |
303 | * @exception SQLException if a database access error occurs | |
304 | */ | |
305 | 4 | public final void setTimestamp( int parameterIndex, Timestamp x ) |
306 | throws SQLException { | |
307 | 4 | checkIsOpen(); |
308 | 2 | delegate_.setTimestamp( parameterIndex, x ); |
309 | } | |
310 | ||
311 | ||
312 | /** | |
313 | * Sets the designated parameter to the given input stream, which will have | |
314 | * the specified number of bytes. When a very large ASCII value is input to | |
315 | * a <code>LONGVARCHAR</code> parameter, it may be more practical to send | |
316 | * it via a <code>java.io.InputStream</code>. Data will be read from the | |
317 | * stream as needed until end-of-file is reached. The JDBC driver will do | |
318 | * any necessary conversion from ASCII to the database char format. <P> | |
319 | * | |
320 | * <B>Note:</B> This stream object can either be a standard Java stream | |
321 | * object or your own subclass that implements the standard interface. | |
322 | * | |
323 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
324 | * @param x the Java input stream that contains the ASCII parameter value | |
325 | * @param length the number of bytes in the stream | |
326 | * @exception SQLException if a database access error occurs | |
327 | */ | |
328 | 4 | public final void setAsciiStream( int parameterIndex, InputStream x, int length ) |
329 | throws SQLException { | |
330 | 4 | checkIsOpen(); |
331 | 2 | delegate_.setAsciiStream( parameterIndex, x, length ); |
332 | } | |
333 | ||
334 | ||
335 | /** | |
336 | * Sets the designated parameter to the given input stream, which will have | |
337 | * the specified number of bytes. When a very large UNICODE value is input | |
338 | * to a <code>LONGVARCHAR</code> parameter, it may be more practical to | |
339 | * send it via a <code>java.io.InputStream</code> object. The data will be | |
340 | * read from the stream as needed until end-of-file is reached. The JDBC | |
341 | * driver will do any necessary conversion from UNICODE to the database | |
342 | * char format. The byte format of the Unicode stream must be Java UTF-8, | |
343 | * as defined in the Java Virtual Machine Specification. <P> | |
344 | * | |
345 | * <B>Note:</B> This stream object can either be a standard Java stream | |
346 | * object or your own subclass that implements the standard interface. | |
347 | * | |
348 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
349 | * @param x the java input stream which contains the UNICODE parameter | |
350 | * value | |
351 | * @param length the number of bytes in the stream | |
352 | * @exception SQLException if a database access error occurs | |
353 | * @deprecated | |
354 | */ | |
355 | 4 | public final void setUnicodeStream( int parameterIndex, InputStream x, |
356 | int length ) | |
357 | throws SQLException { | |
358 | 4 | checkIsOpen(); |
359 | 2 | delegate_.setUnicodeStream( parameterIndex, x, length ); |
360 | } | |
361 | ||
362 | ||
363 | /** | |
364 | * Sets the designated parameter to the given input stream, which will have | |
365 | * the specified number of bytes. When a very large binary value is input | |
366 | * to a <code>LONGVARBINARY</code> parameter, it may be more practical to | |
367 | * send it via a <code>java.io.InputStream</code> object. The data will be | |
368 | * read from the stream as needed until end-of-file is reached. <P> | |
369 | * | |
370 | * <B>Note:</B> This stream object can either be a standard Java stream | |
371 | * object or your own subclass that implements the standard interface. | |
372 | * | |
373 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
374 | * @param x the java input stream which contains the binary parameter value | |
375 | * @param length the number of bytes in the stream | |
376 | * @exception SQLException if a database access error occurs | |
377 | */ | |
378 | 4 | public final void setBinaryStream( int parameterIndex, InputStream x, |
379 | int length ) | |
380 | throws SQLException { | |
381 | 4 | checkIsOpen(); |
382 | 2 | delegate_.setBinaryStream( parameterIndex, x, length ); |
383 | } | |
384 | ||
385 | //---------------------------------------------------------------------- | |
386 | // Advanced features: | |
387 | ||
388 | /** | |
389 | * <p> | |
390 | * | |
391 | * Sets the value of the designated parameter with the given object. The | |
392 | * second argument must be an object type; for integral values, the <code>java.lang</code> | |
393 | * equivalent objects should be used. <p> | |
394 | * | |
395 | * The given Java object will be converted to the given targetSqlType | |
396 | * before being sent to the database. If the object has a custom mapping | |
397 | * (is of a class implementing the interface <code>SQLData</code>), the | |
398 | * JDBC driver should call the method <code>SQLData.writeSQL</code> to | |
399 | * write it to the SQL data stream. If, on the other hand, the object is of | |
400 | * a class implementing Ref, Blob, Clob, Struct, or Array, the driver | |
401 | * should pass it to the database as a value of the corresponding SQL type. | |
402 | * <p> | |
403 | * | |
404 | * Note that this method may be used to pass datatabase- specific abstract | |
405 | * data types. | |
406 | * | |
407 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
408 | * @param x the object containing the input parameter value | |
409 | * @param targetSqlType the SQL type (as defined in java.sql.Types) to be | |
410 | * sent to the database. The scale argument may further qualify this | |
411 | * type. | |
412 | * @param scale for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, | |
413 | * this is the number of digits after the decimal point. For all other | |
414 | * types, this value will be ignored. | |
415 | * @exception SQLException if a database access error occurs | |
416 | */ | |
417 | 4 | public final void setObject( int parameterIndex, Object x, int targetSqlType, int scale ) |
418 | throws SQLException { | |
419 | 4 | checkIsOpen(); |
420 | 2 | delegate_.setObject( parameterIndex, x, targetSqlType, scale ); |
421 | } | |
422 | ||
423 | ||
424 | /** | |
425 | * Sets the value of the designated parameter with the given object. This | |
426 | * method is like the method <code>setObject</code> above, except that it | |
427 | * assumes a scale of zero. | |
428 | * | |
429 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
430 | * @param x the object containing the input parameter value | |
431 | * @param targetSqlType the SQL type (as defined in java.sql.Types) to be | |
432 | * sent to the database | |
433 | * @exception SQLException if a database access error occurs | |
434 | */ | |
435 | 4 | public final void setObject( int parameterIndex, Object x, int targetSqlType ) |
436 | throws SQLException { | |
437 | 4 | checkIsOpen(); |
438 | 2 | delegate_.setObject( parameterIndex, x, targetSqlType ); |
439 | } | |
440 | ||
441 | ||
442 | /** | |
443 | * <p> | |
444 | * | |
445 | * Sets the value of the designated parameter using the given object. The | |
446 | * second parameter must be of type <code>Object</code>; therefore, the | |
447 | * <code>java.lang</code> equivalent objects should be used for built-in | |
448 | * types. <p> | |
449 | * | |
450 | * The JDBC specification specifies a standard mapping from Java <code>Object</code> | |
451 | * types to SQL types. The given argument will be converted to the | |
452 | * corresponding SQL type before being sent to the database. <p> | |
453 | * | |
454 | * Note that this method may be used to pass datatabase- specific abstract | |
455 | * data types, by using a driver-specific Java type. If the object is of a | |
456 | * class implementing the interface <code>SQLData</code>, the JDBC driver | |
457 | * should call the method <code>SQLData.writeSQL</code> to write it to the | |
458 | * SQL data stream. If, on the other hand, the object is of a class | |
459 | * implementing Ref, Blob, Clob, Struct, or Array, then the driver should | |
460 | * pass it to the database as a value of the corresponding SQL type. This | |
461 | * method throws an exception if there is an ambiguity, for example, if the | |
462 | * object is of a class implementing more than one of the interfaces named | |
463 | * above. | |
464 | * | |
465 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
466 | * @param x the object containing the input parameter value | |
467 | * @exception SQLException if a database access error occurs | |
468 | */ | |
469 | 4 | public final void setObject( int parameterIndex, Object x ) |
470 | throws SQLException { | |
471 | 4 | checkIsOpen(); |
472 | 2 | delegate_.setObject( parameterIndex, x ); |
473 | } | |
474 | ||
475 | ||
476 | /** | |
477 | * Sets the designated parameter to the given <code>Reader</code> object, | |
478 | * which is the given number of characters long. When a very large UNICODE | |
479 | * value is input to a <code>LONGVARCHAR</code> parameter, it may be more | |
480 | * practical to send it via a <code>java.io.Reader</code> object. The data | |
481 | * will be read from the stream as needed until end-of-file is reached. The | |
482 | * JDBC driver will do any necessary conversion from UNICODE to the | |
483 | * database char format. <P> | |
484 | * | |
485 | * <B>Note:</B> This stream object can either be a standard Java stream | |
486 | * object or your own subclass that implements the standard interface. | |
487 | * | |
488 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
489 | * @param reader the java reader which contains the UNICODE data | |
490 | * @param length the number of characters in the stream | |
491 | * @exception SQLException if a database access error occurs | |
492 | * @since 1.2 | |
493 | */ | |
494 | 4 | public final void setCharacterStream( int parameterIndex, Reader reader, |
495 | int length ) | |
496 | throws SQLException { | |
497 | 4 | checkIsOpen(); |
498 | 2 | delegate_.setCharacterStream( parameterIndex, reader, length ); |
499 | } | |
500 | ||
501 | ||
502 | /** | |
503 | * Sets the designated parameter to the given <code>REF(<structured-type>)</code> | |
504 | * value. | |
505 | * | |
506 | * @param i the first parameter is 1, the second is 2, ... | |
507 | * @param x an SQL <code>REF</code> value | |
508 | * @exception SQLException if a database access error occurs | |
509 | * @since 1.2 | |
510 | */ | |
511 | 4 | public final void setRef( int i, Ref x ) |
512 | throws SQLException { | |
513 | 4 | checkIsOpen(); |
514 | 2 | delegate_.setRef( i, x ); |
515 | } | |
516 | ||
517 | ||
518 | /** | |
519 | * Sets the designated parameter to the given <code>Blob</code> object. | |
520 | * | |
521 | * @param i the first parameter is 1, the second is 2, ... | |
522 | * @param x a <code>Blob</code> object that maps an SQL <code>BLOB</code> | |
523 | * value | |
524 | * @exception SQLException if a database access error occurs | |
525 | * @since 1.2 | |
526 | */ | |
527 | 4 | public final void setBlob( int i, Blob x ) |
528 | throws SQLException { | |
529 | 4 | checkIsOpen(); |
530 | 2 | delegate_.setBlob( i, x ); |
531 | } | |
532 | ||
533 | ||
534 | /** | |
535 | * Sets the designated parameter to the given <code>Clob</code> object. | |
536 | * | |
537 | * @param i the first parameter is 1, the second is 2, ... | |
538 | * @param x a <code>Clob</code> object that maps an SQL <code>CLOB</code> | |
539 | * value | |
540 | * @exception SQLException if a database access error occurs | |
541 | * @since 1.2 | |
542 | */ | |
543 | 4 | public final void setClob( int i, Clob x ) |
544 | throws SQLException { | |
545 | 4 | checkIsOpen(); |
546 | 2 | delegate_.setClob( i, x ); |
547 | } | |
548 | ||
549 | ||
550 | /** | |
551 | * Sets the designated parameter to the given <code>Array</code> object. | |
552 | * Sets an Array parameter. | |
553 | * | |
554 | * @param i the first parameter is 1, the second is 2, ... | |
555 | * @param x an <code>Array</code> object that maps an SQL <code>ARRAY</code> | |
556 | * value | |
557 | * @exception SQLException if a database access error occurs | |
558 | * @since 1.2 | |
559 | */ | |
560 | 4 | public final void setArray( int i, Array x ) |
561 | throws SQLException { | |
562 | 4 | checkIsOpen(); |
563 | 2 | delegate_.setArray( i, x ); |
564 | } | |
565 | ||
566 | ||
567 | /** | |
568 | * Sets the designated parameter to the given <code>java.sql.Date</code> | |
569 | * value, using the given <code>Calendar</code> object. The driver uses the | |
570 | * <code>Calendar</code> object to construct an SQL <code>DATE</code> | |
571 | * value, which the driver then sends to the database. With a a <code>Calendar</code> | |
572 | * object, the driver can calculate the date taking into account a custom | |
573 | * timezone. If no <code>Calendar</code> object is specified, the driver | |
574 | * uses the default timezone, which is that of the virtual machine running | |
575 | * the application. | |
576 | * | |
577 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
578 | * @param x the parameter value | |
579 | * @param cal the <code>Calendar</code> object the driver will use to | |
580 | * construct the date | |
581 | * @exception SQLException if a database access error occurs | |
582 | * @since 1.2 | |
583 | */ | |
584 | 4 | public final void setDate( int parameterIndex, Date x, Calendar cal ) |
585 | throws SQLException { | |
586 | 4 | checkIsOpen(); |
587 | 2 | delegate_.setDate( parameterIndex, x, cal ); |
588 | } | |
589 | ||
590 | ||
591 | /** | |
592 | * Sets the designated parameter to the given <code>java.sql.Time</code> | |
593 | * value, using the given <code>Calendar</code> object. The driver uses the | |
594 | * <code>Calendar</code> object to construct an SQL <code>TIME</code> | |
595 | * value, which the driver then sends to the database. With a a <code>Calendar</code> | |
596 | * object, the driver can calculate the time taking into account a custom | |
597 | * timezone. If no <code>Calendar</code> object is specified, the driver | |
598 | * uses the default timezone, which is that of the virtual machine running | |
599 | * the application. | |
600 | * | |
601 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
602 | * @param x the parameter value | |
603 | * @param cal the <code>Calendar</code> object the driver will use to | |
604 | * construct the time | |
605 | * @exception SQLException if a database access error occurs | |
606 | * @since 1.2 | |
607 | */ | |
608 | 4 | public final void setTime( int parameterIndex, Time x, Calendar cal ) |
609 | throws SQLException { | |
610 | 4 | checkIsOpen(); |
611 | 2 | delegate_.setTime( parameterIndex, x, cal ); |
612 | } | |
613 | ||
614 | ||
615 | /** | |
616 | * Sets the designated parameter to the given <code>java.sql.Timestamp</code> | |
617 | * value, using the given <code>Calendar</code> object. The driver uses the | |
618 | * <code>Calendar</code> object to construct an SQL <code>TIMESTAMP</code> | |
619 | * value, which the driver then sends to the database. With a a <code>Calendar</code> | |
620 | * object, the driver can calculate the timestamp taking into account a | |
621 | * custom timezone. If no <code>Calendar</code> object is specified, the | |
622 | * driver uses the default timezone, which is that of the virtual machine | |
623 | * running the application. | |
624 | * | |
625 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
626 | * @param x the parameter value | |
627 | * @param cal the <code>Calendar</code> object the driver will use to | |
628 | * construct the timestamp | |
629 | * @exception SQLException if a database access error occurs | |
630 | * @since 1.2 | |
631 | */ | |
632 | 4 | public final void setTimestamp( int parameterIndex, Timestamp x, Calendar cal ) |
633 | throws SQLException { | |
634 | 4 | checkIsOpen(); |
635 | 2 | delegate_.setTimestamp( parameterIndex, x, cal ); |
636 | } | |
637 | ||
638 | ||
639 | /** | |
640 | * Sets the designated parameter to SQL <code>NULL</code>. This version of | |
641 | * the method <code>setNull</code> should be used for user-defined types | |
642 | * and REF type parameters. Examples of user-defined types include: STRUCT, | |
643 | * DISTINCT, JAVA_OBJECT, and named array types. <P> | |
644 | * | |
645 | * <B>Note:</B> To be portable, applications must give the SQL type code | |
646 | * and the fully-qualified SQL type name when specifying a NULL | |
647 | * user-defined or REF parameter. In the case of a user-defined type the | |
648 | * name is the type name of the parameter itself. For a REF parameter, the | |
649 | * name is the type name of the referenced type. If a JDBC driver does not | |
650 | * need the type code or type name information, it may ignore it. Although | |
651 | * it is intended for user-defined and Ref parameters, this method may be | |
652 | * used to set a null parameter of any JDBC type. If the parameter does not | |
653 | * have a user-defined or REF type, the given typeName is ignored. | |
654 | * | |
655 | * @param paramIndex the first parameter is 1, the second is 2, ... | |
656 | * @param sqlType a value from <code>java.sql.Types</code> | |
657 | * @param typeName the fully-qualified name of an SQL user-defined type; | |
658 | * ignored if the parameter is not a user-defined type or REF | |
659 | * @exception SQLException if a database access error occurs | |
660 | * @since 1.2 | |
661 | */ | |
662 | 4 | public final void setNull( int paramIndex, int sqlType, String typeName ) |
663 | throws SQLException { | |
664 | 4 | checkIsOpen(); |
665 | 2 | delegate_.setNull( paramIndex, sqlType, typeName ); |
666 | } | |
667 | ||
668 | ||
669 | /** | |
670 | * Gets the number, types and properties of a <code>ResultSet</code> | |
671 | * object's columns. | |
672 | * | |
673 | * @return the description of a <code>ResultSet</code> object's columns | |
674 | * @exception SQLException if a database access error occurs | |
675 | * @since 1.2 | |
676 | */ | |
677 | 4 | public final ResultSetMetaData getMetaData() |
678 | throws SQLException { | |
679 | 4 | checkIsOpen(); |
680 | 2 | return delegate_.getMetaData(); |
681 | } | |
682 | ||
683 | ||
684 | /** | |
685 | * Executes the SQL query in this <code>PreparedStatement</code> object and | |
686 | * returns the result set generated by the query. | |
687 | * | |
688 | * @return a <code>ResultSet</code> object that contains the data produced | |
689 | * by the query; never <code>null</code> | |
690 | * @exception SQLException if a database access error occurs | |
691 | */ | |
692 | 4 | public final ResultSet executeQuery() |
693 | throws SQLException { | |
694 | 4 | checkIsOpen(); |
695 | 2 | return wrapResultSet( delegate_.executeQuery() ); |
696 | } | |
697 | ||
698 | ||
699 | /** | |
700 | * Executes the SQL INSERT, UPDATE or DELETE statement in this <code>PreparedStatement</code> | |
701 | * object. In addition, SQL statements that return nothing, such as SQL DDL | |
702 | * statements, can be executed. | |
703 | * | |
704 | * @return either the row count for INSERT, UPDATE or DELETE statements; or | |
705 | * 0 for SQL statements that return nothing | |
706 | * @exception SQLException if a database access error occurs | |
707 | */ | |
708 | 4 | public final int executeUpdate() |
709 | throws SQLException { | |
710 | 4 | checkIsOpen(); |
711 | 2 | return delegate_.executeUpdate(); |
712 | } | |
713 | ||
714 | ||
715 | /** | |
716 | * Clears the current parameter values immediately. <P> | |
717 | * | |
718 | * In general, parameter values remain in force for repeated use of a | |
719 | * statement. Setting a parameter value automatically clears its previous | |
720 | * value. However, in some cases it is useful to immediately release the | |
721 | * resources used by the current parameter values; this can be done by | |
722 | * calling the method <code>clearParameters</code>. | |
723 | * | |
724 | * @exception SQLException if a database access error occurs | |
725 | */ | |
726 | 4 | public final void clearParameters() |
727 | throws SQLException { | |
728 | 4 | checkIsOpen(); |
729 | 2 | delegate_.clearParameters(); |
730 | } | |
731 | ||
732 | ||
733 | /** | |
734 | * Executes any kind of SQL statement. Some prepared statements return | |
735 | * multiple results; the <code>execute</code> method handles these complex | |
736 | * statements as well as the simpler form of statements handled by the | |
737 | * methods <code>executeQuery</code> and <code>executeUpdate</code>. | |
738 | * | |
739 | * @return Unknown | |
740 | * @exception SQLException if a database access error occurs | |
741 | */ | |
742 | 4 | public final boolean execute() |
743 | throws SQLException { | |
744 | 4 | checkIsOpen(); |
745 | 2 | return delegate_.execute(); |
746 | } | |
747 | ||
748 | //--------------------------JDBC 2.0----------------------------- | |
749 | ||
750 | /** | |
751 | * Adds a set of parameters to this <code>PreparedStatement</code> object's | |
752 | * batch of commands. | |
753 | * | |
754 | * @exception SQLException if a database access error occurs | |
755 | */ | |
756 | 4 | public final void addBatch() |
757 | throws SQLException { | |
758 | 4 | checkIsOpen(); |
759 | 2 | delegate_.addBatch(); |
760 | } | |
761 | ||
762 | ||
763 | /** | |
764 | * Sets the designated parameter to the given <code>java.net.URL</code> value. | |
765 | * The driver converts this to an SQL <code>DATALINK</code> value | |
766 | * when it sends it to the database. | |
767 | * | |
768 | * @param parameterIndex the first parameter is 1, the second is 2, ... | |
769 | * @param x the <code>java.net.URL</code> object to be set | |
770 | * @exception SQLException if a database access error occurs | |
771 | * @since 1.4 | |
772 | */ | |
773 | 4 | public void setURL(int parameterIndex, java.net.URL x) throws SQLException { |
774 | 4 | checkIsOpen(); |
775 | 2 | delegate_.setURL(parameterIndex, x); |
776 | } | |
777 | ||
778 | /** | |
779 | * Retrieves the number, types and properties of this | |
780 | * <code>PreparedStatement</code> object's parameters. | |
781 | * | |
782 | * @return a <code>ParameterMetaData</code> object that contains information | |
783 | * about the number, types and properties of this | |
784 | * <code>PreparedStatement</code> object's parameters | |
785 | * @exception SQLException if a database access error occurs | |
786 | * @see ParameterMetaData | |
787 | * @since 1.4 | |
788 | */ | |
789 | 4 | public ParameterMetaData getParameterMetaData() throws SQLException { |
790 | 4 | checkIsOpen(); |
791 | 2 | return delegate_.getParameterMetaData(); |
792 | } | |
793 | } | |
794 | ||
795 | ||
796 | ||
797 |
|