source: trunk/gcc/libjava/java/sql/CallableStatement.java

Last change on this file was 1392, checked in by bird, 21 years ago

This commit was generated by cvs2svn to compensate for changes in r1391,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 19.0 KB
Line 
1/* CallableStatement.java -- A statement for calling stored procedures.
2 Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
3
4This file is part of GNU Classpath.
5
6GNU Classpath is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU Classpath is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Classpath; see the file COPYING. If not, write to the
18Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1902111-1307 USA.
20
21Linking this library statically or dynamically with other modules is
22making a combined work based on this library. Thus, the terms and
23conditions of the GNU General Public License cover the whole
24combination.
25
26As a special exception, the copyright holders of this library give you
27permission to link this library with independent modules to produce an
28executable, regardless of the license terms of these independent
29modules, and to copy and distribute the resulting executable under
30terms of your choice, provided that you also meet, for each linked
31independent module, the terms and conditions of the license of that
32module. An independent module is a module which is not derived from
33or based on this library. If you modify this library, you may extend
34this exception to your version of the library, but you are not
35obligated to do so. If you do not wish to do so, delete this
36exception statement from your version. */
37
38package java.sql;
39
40import java.io.InputStream;
41import java.io.Reader;
42import java.math.BigDecimal;
43import java.net.URL;
44import java.util.Calendar;
45import java.util.Map;
46
47/**
48 * This interface provides a mechanism for calling stored procedures.
49 *
50 * @author Aaron M. Renn (arenn@urbanophile.com)
51 */
52public interface CallableStatement extends PreparedStatement
53{
54 /**
55 * This method registers the specified parameter as an output parameter
56 * of the specified SQL type.
57 *
58 * @param index The index of the parameter to register as output.
59 * @param type The SQL type value from <code>Types</code>.
60 * @exception SQLException If an error occurs.
61 */
62 public void registerOutParameter(int parameterIndex, int sqlType)
63 throws SQLException;
64
65 /**
66 * This method registers the specified parameter as an output parameter
67 * of the specified SQL type and scale.
68 *
69 * @param index The index of the parameter to register as output.
70 * @param type The SQL type value from <code>Types</code>.
71 * @param scale The scale of the value that will be returned.
72 * @exception SQLException If an error occurs.
73 */
74 public void registerOutParameter(int parameterIndex, int sqlType, int scale)
75 throws SQLException;
76
77 /**
78 * This method tests whether the value of the last parameter that was fetched
79 * was actually a SQL NULL value.
80 *
81 * @return <code>true</code> if the last parameter fetched was a NULL,
82 * <code>false</code> otherwise.
83 * @exception SQLException If an error occurs.
84 */
85 public boolean wasNull() throws SQLException;
86
87 /**
88 * This method returns the value of the specified parameter as a Java
89 * <code>String</code>.
90 *
91 * @param index The index of the parameter to return.
92 * @return The parameter value as a <code>String</code>.
93 * @exception SQLException If an error occurs.
94 */
95 public String getString(int parameterIndex) throws SQLException;
96
97 /**
98 * This method returns the value of the specified parameter as a Java
99 * <code>boolean</code>.
100 *
101 * @param index The index of the parameter to return.
102 * @return The parameter value as a <code>boolean</code>.
103 * @exception SQLException If an error occurs.
104 */
105 public boolean getBoolean(int parameterIndex) throws SQLException;
106
107 /**
108 * This method returns the value of the specified parameter as a Java
109 * <code>byte</code>.
110 *
111 * @param index The index of the parameter to return.
112 * @return The parameter value as a <code>byte</code>.
113 * @exception SQLException If an error occurs.
114 */
115 public byte getByte(int parameterIndex) throws SQLException;
116
117 /**
118 * This method returns the value of the specified parameter as a Java
119 * <code>short</code>.
120 *
121 * @param index The index of the parameter to return.
122 * @return The parameter value as a <code>short</code>.
123 * @exception SQLException If an error occurs.
124 */
125 public short getShort(int parameterIndex) throws SQLException;
126
127 /**
128 * This method returns the value of the specified parameter as a Java
129 * <code>int</code>.
130 *
131 * @param index The index of the parameter to return.
132 * @return The parameter value as a <code>int</code>.
133 * @exception SQLException If an error occurs.
134 */
135 public int getInt(int parameterIndex) throws SQLException;
136
137 /**
138 * This method returns the value of the specified parameter as a Java
139 * <code>long</code>.
140 *
141 * @param index The index of the parameter to return.
142 * @return The parameter value as a <code>long</code>.
143 * @exception SQLException If an error occurs.
144 */
145 public long getLong(int parameterIndex) throws SQLException;
146
147 /**
148 * This method returns the value of the specified parameter as a Java
149 * <code>float</code>.
150 *
151 * @param index The index of the parameter to return.
152 * @return The parameter value as a <code>float</code>.
153 * @exception SQLException If an error occurs.
154 */
155 public float getFloat(int parameterIndex) throws SQLException;
156
157 /**
158 * This method returns the value of the specified parameter as a Java
159 * <code>double</code>.
160 *
161 * @param index The index of the parameter to return.
162 * @return The parameter value as a <code>double</code>.
163 * @exception SQLException If an error occurs.
164 */
165 public double getDouble(int parameterIndex) throws SQLException;
166
167 /**
168 * This method returns the value of the specified parameter as a Java
169 * <code>BigDecimal</code>.
170 *
171 * @param parameterIndex The index of the parameter to return.
172 * @param scale The number of digits to the right of the decimal to return.
173 * @return The parameter value as a <code>BigDecimal</code>.
174 * @exception SQLException If an error occurs.
175 * @deprecated Use getBigDecimal(int parameterIndex)
176 * or getBigDecimal(String parameterName) instead.
177 */
178 public BigDecimal getBigDecimal(int parameterIndex, int scale)
179 throws SQLException;
180
181 /**
182 * This method returns the value of the specified parameter as a Java
183 * byte array.
184 *
185 * @param parameterIndex The index of the parameter to return.
186 * @return The parameter value as a byte array
187 * @exception SQLException If an error occurs.
188 */
189 public byte[] getBytes(int parameterIndex) throws SQLException;
190
191 /**
192 * This method returns the value of the specified parameter as a Java
193 * <code>java.sql.Date</code>.
194 *
195 * @param index The index of the parameter to return.
196 * @return The parameter value as a <code>java.sql.Date</code>.
197 * @exception SQLException If an error occurs.
198 */
199 public Date getDate(int parameterIndex) throws SQLException;
200
201 /**
202 * This method returns the value of the specified parameter as a Java
203 * <code>java.sql.Time</code>.
204 *
205 * @param index The index of the parameter to return.
206 * @return The parameter value as a <code>java.sql.Time</code>.
207 * @exception SQLException If an error occurs.
208 */
209 public Time getTime(int parameterIndex) throws SQLException;
210
211 /**
212 * This method returns the value of the specified parameter as a Java
213 * <code>java.sql.Timestamp</code>.
214 *
215 * @param index The index of the parameter to return.
216 * @return The parameter value as a <code>java.sql.Timestamp</code>.
217 * @exception SQLException If an error occurs.
218 */
219 public Timestamp getTimestamp(int parameterIndex) throws SQLException;
220
221 /**
222 * This method returns the value of the specified parameter as a Java
223 * <code>Object</code>.
224 *
225 * @param parameterIndex The index of the parameter to return.
226 * @return The parameter value as an <code>Object</code>.
227 * @exception SQLException If an error occurs.
228 * @since 1.2
229 */
230 public Object getObject(int parameterIndex) throws SQLException;
231
232 /**
233 * This method returns the value of the specified parameter as a Java
234 * <code>BigDecimal</code>.
235 *
236 * @param parameterIndex The index of the parameter to return.
237 * @return The parameter value as a <code>BigDecimal</code>.
238 * @exception SQLException If an error occurs.
239 * @since 1.2
240 */
241 public BigDecimal getBigDecimal(int parameterIndex) throws SQLException;
242
243 /**
244 * This method returns the value of the specified parameter as a Java
245 * <code>Object</code>.
246 *
247 * @param index The index of the parameter to return.
248 * @param map The mapping to use for conversion from SQL to Java types.
249 * @return The parameter value as an <code>Object</code>.
250 * @exception SQLException If an error occurs.
251 * @since 1.2
252 */
253 public Object getObject(int index, Map map) throws SQLException;
254
255 /**
256 * This method returns the value of the specified parameter as a Java
257 * <code>Ref</code>.
258 *
259 * @param index The index of the parameter to return.
260 * @return The parameter value as a <code>Ref</code>.
261 * @exception SQLException If an error occurs.
262 * @since 1.2
263 */
264 public Ref getRef(int index) throws SQLException;
265
266 /**
267 * This method returns the value of the specified parameter as a Java
268 * <code>Blob</code>.
269 *
270 * @param index The index of the parameter to return.
271 * @return The parameter value as a <code>Blob</code>.
272 * @exception SQLException If an error occurs.
273 * @since 1.2
274 */
275 public Blob getBlob(int index) throws SQLException;
276
277 /**
278 * This method returns the value of the specified parameter as a Java
279 * <code>Clob</code>.
280 *
281 * @param index The index of the parameter to return.
282 * @return The parameter value as a <code>Clob</code>.
283 * @exception SQLException If an error occurs.
284 * @since 1.2
285 */
286 public Clob getClob(int index) throws SQLException;
287
288 /**
289 * This method returns the value of the specified parameter as a Java
290 * <code>Array</code>.
291 *
292 * @param parameterIndex The index of the parameter to return.
293 * @return The parameter value as a <code>Array</code>.
294 * @exception SQLException If an error occurs.
295 * @since 1.2
296 */
297 public Array getArray(int index) throws SQLException;
298
299 /**
300 * This method returns the value of the specified parameter as a Java
301 * <code>java.sql.Date</code>.
302 *
303 * @param parameterIndex The index of the parameter to return.
304 * @param cal The <code>Calendar</code> to use for timezone and locale.
305 * @return The parameter value as a <code>java.sql.Date</code>.
306 * @exception SQLException If an error occurs.
307 * @since 1.2
308 */
309 public Date getDate(int parameterIndex, Calendar cal) throws SQLException;
310
311 /**
312 * This method returns the value of the specified parameter as a Java
313 * <code>java.sql.Time</code>.
314 *
315 * @param parameterIndex The index of the parameter to return.
316 * @param cal The <code>Calendar</code> to use for timezone and locale.
317 * @return The parameter value as a <code>java.sql.Time</code>.
318 * @exception SQLException If an error occurs.
319 * @since 1.2
320 */
321 public Time getTime(int parameterIndex, Calendar cal) throws SQLException;
322
323 /**
324 * This method returns the value of the specified parameter as a Java
325 * <code>java.sql.Timestamp</code>.
326 *
327 * @param index The index of the parameter to return.
328 * @return The parameter value as a <code>java.sql.Timestamp</code>.
329 * @exception SQLException If an error occurs.
330 * @since 1.2
331 */
332 public Timestamp getTimestamp(int parameterIndex, Calendar cal)
333 throws SQLException;
334
335 /**
336 * This method registers the specified parameter as an output parameter
337 * of the specified SQL type.
338 *
339 * @param index The index of the parameter to register as output.
340 * @param type The SQL type value from <code>Types</code>.
341 * @param name The user defined data type name.
342 * @exception SQLException If an error occurs.
343 * @since 1.2
344 */
345 public void registerOutParameter(int paramIndex, int sqlType,
346 String typeName)
347 throws SQLException;
348
349 /**
350 * This method registers the specified parameter as an output parameter
351 * of the specified SQL type.
352 *
353 * @param parameterName The name of the parameter to register as output.
354 * @param sqlType The SQL type value from <code>Types</code>.
355 * @exception SQLException If an error occurs.
356 * @since 1.4
357 */
358 public void registerOutParameter(String parameterName, int sqlType)
359 throws SQLException;
360
361 /**
362 * This method registers the specified parameter as an output parameter
363 * of the specified SQL type. This version of registerOutParameter is used
364 * for NUMERIC or DECIMAL types.
365 *
366 * @param parameterName The name of the parameter to register as output.
367 * @param sqlType The SQL type value from <code>Types</code>.
368 * @param scale Number of digits to the right of the decimal point.
369 * @exception SQLException If an error occurs.
370 * @since 1.4
371 */
372 public void registerOutParameter(String parameterName, int sqlType,
373 int scale)
374 throws SQLException;
375
376
377 /**
378 * This method registers the specified parameter as an output parameter
379 * of the specified SQL type. This version of registerOutParameter is used
380 * for user-named or REF types. If the type of the output parameter does
381 * not have such a type, the typeName argument is ignored.
382 *
383 * @param parameterName The name of the parameter to register as output.
384 * @param sqlType The SQL type value from <code>Types</code>.
385 * @param typeName The SQL structured type name.
386 * @exception SQLException If an error occurs.
387 * @since 1.4
388 */
389 public void registerOutParameter(String parameterName, int sqlType,
390 String typeName)
391 throws SQLException;
392
393 /**
394 * @since 1.4
395 */
396 public URL getURL(int parameterIndex) throws SQLException;
397
398 /**
399 * @since 1.4
400 */
401 public void setURL(String parameterName, URL val) throws SQLException;
402
403 /**
404 * @since 1.4
405 */
406 public void setNull(String parameterName, int sqlType) throws SQLException;
407
408 /**
409 * @since 1.4
410 */
411 public void setBoolean(String parameterName, boolean x) throws SQLException;
412
413 /**
414 * @since 1.4
415 */
416 public void setByte(String parameterName, byte x) throws SQLException;
417
418 /**
419 * @since 1.4
420 */
421 public void setShort(String parameterName, short x) throws SQLException;
422
423 /**
424 * @since 1.4
425 */
426 public void setInt(String parameterName, int x) throws SQLException;
427
428 /**
429 * @since 1.4
430 */
431 public void setLong(String parameterName, long x) throws SQLException;
432
433 /**
434 * @since 1.4
435 */
436 public void setFloat(String parameterName, float x) throws SQLException;
437
438 /**
439 * @since 1.4
440 */
441 public void setDouble(String parameterName, double x) throws SQLException;
442
443 /**
444 * @since 1.4
445 */
446 public void setBigDecimal(String parameterName, BigDecimal x)
447 throws SQLException;
448
449 /**
450 * @since 1.4
451 */
452 public void setString(String parameterName, String x) throws SQLException;
453
454 /**
455 * @since 1.4
456 */
457 public void setBytes(String parameterName, byte[] x) throws SQLException;
458
459 /**
460 * @since 1.4
461 */
462 public void setDate(String parameterName, Date x) throws SQLException;
463
464 /**
465 * @since 1.4
466 */
467 public void setTime(String parameterName, Time x) throws SQLException;
468
469 /**
470 * @since 1.4
471 */
472 public void setTimestamp(String parameterName, Timestamp x)
473 throws SQLException;
474
475 /**
476 * @since 1.4
477 */
478 public void setAsciiStream(String parameterName, InputStream x, int length)
479 throws SQLException;
480
481 /**
482 * @since 1.4
483 */
484 public void setBinaryStream(String parameterName, InputStream x, int length)
485 throws SQLException;
486
487 /**
488 * @since 1.4
489 */
490 public void setObject(String parameterName, Object x, int targetSqlType,
491 int scale)
492 throws SQLException;
493
494 /**
495 * @since 1.4
496 */
497 public void setObject(String parameterName, Object x, int targetSqlType)
498 throws SQLException;
499
500 /**
501 * @since 1.4
502 */
503 public void setObject(String parameterName, Object x) throws SQLException;
504
505 /**
506 * @since 1.4
507 */
508 public void setCharacterStream(String parameterName, Reader reader,
509 int length)
510 throws SQLException;
511
512 /**
513 * @since 1.4
514 */
515 public void setDate(String parameterName, Date x, Calendar cal)
516 throws SQLException;
517
518 /**
519 * @since 1.4
520 */
521 public void setTime(String parameterName, Time x, Calendar cal)
522 throws SQLException;
523
524 /**
525 * @since 1.4
526 */
527 public void setTimestamp(String parameterName, Timestamp x, Calendar cal)
528 throws SQLException;
529
530 /**
531 * @since 1.4
532 */
533 public void setNull(String parameterName, int sqlType, String typeName)
534 throws SQLException;
535
536 /**
537 * @since 1.4
538 */
539 public String getString(String parameterName) throws SQLException;
540
541 /**
542 * @since 1.4
543 */
544 public boolean getBoolean(String parameterName) throws SQLException;
545
546 /**
547 * @since 1.4
548 */
549 public byte getByte(String parameterName) throws SQLException;
550
551 /**
552 * @since 1.4
553 */
554 public short getShort(String parameterName) throws SQLException;
555
556 /**
557 * @since 1.4
558 */
559 public int getInt(String parameterName) throws SQLException;
560
561 /**
562 * @since 1.4
563 */
564 public long getLong(String parameterName) throws SQLException;
565
566 /**
567 * @since 1.4
568 */
569 public float getFloat(String parameterName) throws SQLException;
570
571 /**
572 * @since 1.4
573 */
574 public double getDouble(String parameterName) throws SQLException;
575
576 /**
577 * @since 1.4
578 */
579 public byte[] getBytes(String parameterName) throws SQLException;
580
581 /**
582 * @since 1.4
583 */
584 public Date getDate(String parameterName) throws SQLException;
585
586 /**
587 * @since 1.4
588 */
589 public Time getTime(String parameterName) throws SQLException;
590
591 /**
592 * @since 1.4
593 */
594 public Timestamp getTimestamp(String parameterName) throws SQLException;
595
596 /**
597 * @since 1.4
598 */
599 public Object getObject(String parameterName) throws SQLException;
600
601 /**
602 * @since 1.4
603 */
604 public BigDecimal getBigDecimal(String parameterName) throws SQLException;
605
606 /**
607 * @since 1.4
608 */
609 public Object getObject(String parameterName, Map map) throws SQLException;
610
611 /**
612 * @since 1.4
613 */
614 public Ref getRef(String parameterName) throws SQLException;
615
616 /**
617 * @since 1.4
618 */
619 public Blob getBlob(String parameterName) throws SQLException;
620
621 /**
622 * @since 1.4
623 */
624 public Clob getClob(String parameterName) throws SQLException;
625
626 /**
627 * @since 1.4
628 */
629 public Array getArray(String parameterName) throws SQLException;
630
631 /**
632 * @since 1.4
633 */
634 public Date getDate(String parameterName, Calendar cal) throws SQLException;
635
636 /**
637 * @since 1.4
638 */
639 public Time getTime(String parameterName, Calendar cal) throws SQLException;
640
641 /**
642 * @since 1.4
643 */
644 public Timestamp getTimestamp(String parameterName, Calendar cal)
645 throws SQLException;
646
647 /**
648 * @since 1.4
649 */
650 public URL getURL(String parameterName) throws SQLException;
651}
Note: See TracBrowser for help on using the repository browser.