/[classpath]/classpath/java/sql/ResultSet.java
ViewVC logotype

Diff of /classpath/java/sql/ResultSet.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by mark, Tue Jan 22 22:27:01 2002 UTC revision 1.5 by bryce, Fri Jun 21 05:34:12 2002 UTC
# Line 1  Line 1 
1  /* ResultSet.java -- A SQL statement result set.  /* ResultSet.java -- A SQL statement result set.
2     Copyright (C) 1999, 2000 Free Software Foundation, Inc.     Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
3    
4  This file is part of GNU Classpath.  This file is part of GNU Classpath.
5    
# Line 41  package java.sql; Line 41  package java.sql;
41  import java.io.InputStream;  import java.io.InputStream;
42  import java.io.Reader;  import java.io.Reader;
43  import java.math.BigDecimal;  import java.math.BigDecimal;
44    import java.net.URL;
45  import java.util.Calendar;  import java.util.Calendar;
46  import java.util.Map;  import java.util.Map;
47    
48  /**  /**
49    * This interface provides access to the data set returned by a SQL   * This interface provides access to the data set returned by a SQL
50    * statement.  An instance of this interface is returned by the various   * statement.  An instance of this interface is returned by the various
51    * execution methods in the <code>Statement</code.   * execution methods in the <code>Statement</code.
52    * <p>   * <p>
53    * This class models a cursor, which can be stepped through one row at a   * This class models a cursor, which can be stepped through one row at a
54    * time.  Methods are provided for accessing columns by column name or by   * time.  Methods are provided for accessing columns by column name or by
55    * index.   * index.
56    * <p>   * <p>
57    * Note that a result set is invalidated if the statement that returned   * Note that a result set is invalidated if the statement that returned
58    * it is closed.   * it is closed.
59    *   *
60    * @author Aaron M. Renn (arenn@urbanophile.com)   * @author Aaron M. Renn (arenn@urbanophile.com)
61    */   */
62  public interface ResultSet  public interface ResultSet
63  {  {
64      /**
65  /**     * The rows will be processed in order from first to last.
66    * The rows will be processed in order from first to last.     */
67    */    public static final int FETCH_FORWARD = 1000;
68  public static final int FETCH_FORWARD = 0;  
69      /**
70  /**     * The rows will be processed in order from last to first.
71    * The rows will be processed in order from last to first.     */
72    */    public static final int FETCH_REVERSE = 1001;
73  public static final int FETCH_REVERSE = 1;  
74      /**
75  /**     * The rows will be processed in an unknown order
76    * The rows will be processed in an unknown order     */
77    */    public static final int FETCH_UNKNOWN = 1002;
78  public static final int FETCH_UNKNOWN = 2;  
79      /**
80  /**     * This type of result set may only step forward through the rows returned.
81    * This type of result set may only step forward through the rows returned.     */
82    */    public static final int TYPE_FORWARD_ONLY = 1003;
83  public static final int TYPE_FORWARD_ONLY = 0;  
84      /**
85  /**     * This type of result set is scrollable and is not sensitive to changes
86    * This type of result set is scrollable and is not sensitive to changes     * made by other statements.
87    * made by other statements.     */
88    */    public static final int TYPE_SCROLL_INSENSITIVE = 1004;
89  public static final int TYPE_SCROLL_INSENSITIVE = 1;  
90      /**
91  /**     * This type of result set is scrollable and is also sensitive to changes
92    * This type of result set is scrollable and is also sensitive to changes     * made by other statements.
93    * made by other statements.     */
94    */    public static final int TYPE_SCROLL_SENSITIVE = 1005;
95  public static final int TYPE_SCROLL_SENSITIVE = 1;  
96      /**
97  /**     * The concurrency mode of for the result set may not be modified.
98    * The concurrency mode of for the result set may not be modified.     */
99    */    public static final int CONCUR_READ_ONLY = 1007;
100  public static final int CONCUR_READ_ONLY = 0;  
101      /**
102  /**     * The concurrency mode of for the result set may be modified.
103    * The concurrency mode of for the result set may be modified.     */
104    */    public static final int CONCUR_UPDATABLE = 1008;
105  public static final int CONCUR_UPDATABLE = 1;  
106      public static final int HOLD_CURSORS_OVER_COMMIT = 1;
107  /*************************************************************************/  
108      public static final int CLOSE_CURSORS_AT_COMMIT = 2;
109  /**  
110    * This method advances to the next row in the result set.  Any streams    /**
111    * open on the current row are closed automatically.     * This method advances to the next row in the result set.  Any streams
112    *     * open on the current row are closed automatically.
113    * @return <code>true</code> if the next row exists, <code>false</code>     *
114    * otherwise.     * @return <code>true</code> if the next row exists, <code>false</code>
115    *     *         otherwise.
116    * @exception SQLException If an error occurs.     * @exception SQLException If an error occurs.
117    */     */
118  public abstract boolean    public boolean next() throws SQLException;
119  next() throws SQLException;  
120      /**
121  /*************************************************************************/     * This method closes the result set and frees any associated resources.
122       *
123  /**     * @exception SQLException If an error occurs.
124    * This method moves the current position to the previous row in the     */
125    * result set.    public void close() throws SQLException;
126    *  
127    * @return <code>true</code> if the previous row exists, <code>false</code>    /**
128    * otherwise.     * This method tests whether the value of the last column that was fetched
129    *     * was actually a SQL NULL value.
130    * @exception SQLException If an error occurs.     *
131    */     * @return <code>true</code> if the last column fetched was a NULL,
132  public abstract boolean     *         <code>false</code> otherwise.
133  previous() throws SQLException;     * @exception SQLException If an error occurs.
134       */
135  /*************************************************************************/    public boolean wasNull() throws SQLException;
136    
137  /**    /**
138    * This method closes the result set and frees any associated resources.     * This method returns the value of the specified column as a Java
139    *     * <code>String</code>.
140    * @exception SQLException If an error occurs.     *
141    */     * @param index The index of the column to return.
142  public abstract void     * @return The column value as a <code>String</code>.
143  close() throws SQLException;     * @exception SQLException If an error occurs.
144       */
145  /*************************************************************************/    public String getString(int columnIndex) throws SQLException;
146    
147  /**    /**
148    * This method tests whether the value of the last column that was fetched     * This method returns the value of the specified column as a Java
149    * was actually a SQL NULL value.     * <code>boolean</code>.
150    *     *
151    * @return <code>true</code> if the last column fetched was a NULL,     * @param index The index of the column to return.
152    * <code>false</code> otherwise.     * @return The column value as a <code>boolean</code>.
153    *     * @exception SQLException If an error occurs.
154    * @exception SQLException If an error occurs.     */
155    */    public boolean getBoolean(int columnIndex) throws SQLException;
156  public abstract boolean  
157  wasNull() throws SQLException;    /**
158       * This method returns the value of the specified column as a Java
159  /*************************************************************************/     * <code>byte</code>.
160       *
161  /**     * @param index The index of the column to return.
162    * This method returns the value of the specified column as a Java     * @return The column value as a <code>byte</code>.
163    * <code>String</code>.     * @exception SQLException If an error occurs.
164    *     */
165    * @param index The index of the column to return.    public byte getByte(int columnIndex) throws SQLException;
166    *  
167    * @return The column value as a <code>String</code>.    /**
168    *     * This method returns the value of the specified column as a Java
169    * @exception SQLException If an error occurs.     * <code>short</code>.
170    */     *
171  public abstract String     * @param index The index of the column to return.
172  getString(int index) throws SQLException;     * @return The column value as a <code>short</code>.
173       * @exception SQLException If an error occurs.
174  /*************************************************************************/     */
175      public short getShort(int columnIndex) throws SQLException;
176  /**  
177    * This method returns the value of the specified column as a Java    /**
178    * <code>Object</code>.     * This method returns the value of the specified column as a Java
179    *     * <code>int</code>.
180    * @param index The index of the column to return.     *
181    *     * @param index The index of the column to return.
182    * @return The column value as an <code>Object</code>.     * @return The column value as a <code>int</code>.
183    *     * @exception SQLException If an error occurs.
184    * @exception SQLException If an error occurs.     */
185    */    public int getInt(int columnIndex) throws SQLException;
186  public abstract Object  
187  getObject(int index) throws SQLException;    /**
188       * This method returns the value of the specified column as a Java
189  /*************************************************************************/     * <code>long</code>.
190       *
191  /**     * @param index The index of the column to return.
192    * This method returns the value of the specified column as a Java     * @return The column value as a <code>long</code>.
193    * <code>boolean</code>.     * @exception SQLException If an error occurs.
194    *     */
195    * @param index The index of the column to return.    public long getLong(int columnIndex) throws SQLException;
196    *  
197    * @return The column value as a <code>boolean</code>.    /**
198    *     * This method returns the value of the specified column as a Java
199    * @exception SQLException If an error occurs.     * <code>float</code>.
200    */     *
201  public abstract boolean     * @param index The index of the column to return.
202  getBoolean(int index) throws SQLException;     * @return The column value as a <code>float</code>.
203       * @exception SQLException If an error occurs.
204  /*************************************************************************/     */
205      public float getFloat(int columnIndex) throws SQLException;
206  /**  
207    * This method returns the value of the specified column as a Java    /**
208    * <code>byte</code>.     * This method returns the value of the specified column as a Java
209    *     * <code>double</code>.
210    * @param index The index of the column to return.     *
211    *     * @param index The index of the column to return.
212    * @return The column value as a <code>byte</code>.     * @return The column value as a <code>double</code>.
213    *     * @exception SQLException If an error occurs.
214    * @exception SQLException If an error occurs.     */
215    */    public double getDouble(int columnIndex) throws SQLException;
216  public abstract byte  
217  getByte(int index) throws SQLException;    /**
218       * This method returns the value of the specified column as a Java
219  /*************************************************************************/     * <code>BigDecimal</code>.
220       *
221  /**     * @param index The index of the column to return.
222    * This method returns the value of the specified column as a Java     * @param scale The number of digits to the right of the decimal to return.
223    * <code>short</code>.     * @return The column value as a <code>BigDecimal</code>.
224    *     * @exception SQLException If an error occurs.
225    * @param index The index of the column to return.     * @deprecated
226    *     */
227    * @return The column value as a <code>short</code>.    public BigDecimal getBigDecimal(int columnIndex, int scale)
228    *      throws SQLException;
229    * @exception SQLException If an error occurs.  
230    */    /**
231  public abstract short     * This method returns the value of the specified column as a Java
232  getShort(int index) throws SQLException;     * byte array.
233       *
234  /*************************************************************************/     * @param index The index of the column to return.
235       * @return The column value as a byte array
236  /**     * @exception SQLException If an error occurs.
237    * This method returns the value of the specified column as a Java     */
238    * <code>int</code>.    public byte[] getBytes(int columnIndex) throws SQLException;
239    *  
240    * @param index The index of the column to return.    /**
241    *     * This method returns the value of the specified column as a Java
242    * @return The column value as a <code>int</code>.     * <code>java.sql.Date</code>.
243    *     *
244    * @exception SQLException If an error occurs.     * @param index The index of the column to return.
245    */     * @return The column value as a <code>java.sql.Date</code>.
246  public abstract int     * @exception SQLException If an error occurs.
247  getInt(int index) throws SQLException;     */
248      public Date getDate(int columnIndex) throws SQLException;
249  /*************************************************************************/  
250      /**
251  /**     * This method returns the value of the specified column as a Java
252    * This method returns the value of the specified column as a Java     * <code>java.sql.Time</code>.
253    * <code>long</code>.     *
254    *     * @param index The index of the column to return.
255    * @param index The index of the column to return.     * @return The column value as a <code>java.sql.Time</code>.
256    *     * @exception SQLException If an error occurs.
257    * @return The column value as a <code>long</code>.     */
258    *    public Time getTime(int columnIndex) throws SQLException;
259    * @exception SQLException If an error occurs.  
260    */    /**
261  public abstract long     * This method returns the value of the specified column as a Java
262  getLong(int index) throws SQLException;     * <code>java.sql.Timestamp</code>.
263       *
264  /*************************************************************************/     * @param index The index of the column to return.
265       * @return The column value as a <code>java.sql.Timestamp</code>.
266  /**     * @exception SQLException If an error occurs.
267    * This method returns the value of the specified column as a Java     */
268    * <code>float</code>.    public Timestamp getTimestamp(int columnIndex) throws SQLException;
269    *  
270    * @param index The index of the column to return.    /**
271    *     * This method returns the value of the specified column as an ASCII
272    * @return The column value as a <code>float</code>.     * stream.  Note that all the data from this stream must be read before
273    *     * fetching the value of any other column.  Please also be aware that
274    * @exception SQLException If an error occurs.     * calling <code>next()</code> or <code>close()</code> on this result set
275    */     * will close this stream as well.
276  public abstract float     *
277  getFloat(int index) throws SQLException;     * @param index The index of the column to return.
278       * @return The column value as an ASCII <code>InputStream</code>.
279  /*************************************************************************/     * @exception SQLException If an error occurs.
280       */
281  /**    public InputStream getAsciiStream(int columnIndex) throws SQLException;
282    * This method returns the value of the specified column as a Java  
283    * <code>double</code>.    /**
284    *     * This method returns the value of the specified column as a Unicode UTF-8
285    * @param index The index of the column to return.     * stream.  Note that all the data from this stream must be read before
286    *     * fetching the value of any other column.  Please also be aware that
287    * @return The column value as a <code>double</code>.     * calling <code>next()</code> or <code>close()</code> on this result set
288    *     * will close this stream as well.
289    * @exception SQLException If an error occurs.     *
290    */     * @param index The index of the column to return.
291  public abstract double     * @return The column value as a Unicode UTF-8 <code>InputStream</code>.
292  getDouble(int index) throws SQLException;     * @exception SQLException If an error occurs.
293       * @deprecated Use getCharacterStream instead.
294  /*************************************************************************/     */
295      public InputStream getUnicodeStream(int columnIndex) throws SQLException;
296  /**  
297    * This method returns the value of the specified column as a Java    /**
298    * <code>BigDecimal</code>.     * This method returns the value of the specified column as a raw byte
299    *     * stream.  Note that all the data from this stream must be read before
300    * @param index The index of the column to return.     * fetching the value of any other column.  Please also be aware that
301    *     * calling <code>next()</code> or <code>close()</code> on this result set
302    * @return The column value as a <code>BigDecimal</code>.     * will close this stream as well.
303    *     *
304    * @exception SQLException If an error occurs.     * @param index The index of the column to return.
305    */     * @return The column value as a raw byte <code>InputStream</code>.
306  public abstract BigDecimal     * @exception SQLException If an error occurs.
307  getBigDecimal(int index) throws SQLException;     */
308      public InputStream getBinaryStream(int columnIndex) throws SQLException;
309  /*************************************************************************/  
310      /**
311  /**     * This method returns the value of the specified column as a Java
312    * This method returns the value of the specified column as a Java     * <code>String</code>.
313    * <code>BigDecimal</code>.     *
314    *     * @param column The name of the column to return.
315    * @param index The index of the column to return.     * @return The column value as a <code>String</code>.
316    * @param scale The number of digits to the right of the decimal to return.     * @exception SQLException If an error occurs.
317    *     */
318    * @return The column value as a <code>BigDecimal</code>.    public String getString(String columnName) throws SQLException;
319    *  
320    * @exception SQLException If an error occurs.    /**
321    */     * This method returns the value of the specified column as a Java
322  public abstract BigDecimal     * <code>boolean</code>.
323  getBigDecimal(int index, int scale) throws SQLException;     *
324       * @param column The name of the column to return.
325  /*************************************************************************/     * @return The column value as a <code>boolean</code>.
326       * @exception SQLException If an error occurs.
327  /**     */
328    * This method returns the value of the specified column as a Java    public boolean getBoolean(String columnName) throws SQLException;
329    * byte array.  
330    *    /**
331    * @param index The index of the column to return.     * This method returns the value of the specified column as a Java
332    *     * <code>byte</code>.
333    * @return The column value as a byte array     *
334    *     * @param column The name of the column to return.
335    * @exception SQLException If an error occurs.     * @return The column value as a <code>byte</code>.
336    */     * @exception SQLException If an error occurs.
337  public abstract byte[]     */
338  getBytes(int index) throws SQLException;    public byte getByte(String columnName) throws SQLException;
339    
340  /*************************************************************************/    /**
341       * This method returns the value of the specified column as a Java
342  /**     * <code>short</code>.
343    * This method returns the value of the specified column as a Java     *
344    * <code>java.sql.Date</code>.     * @param column The name of the column to return.
345    *     * @return The column value as a <code>short</code>.
346    * @param index The index of the column to return.     * @exception SQLException If an error occurs.
347    *     */
348    * @return The column value as a <code>java.sql.Date</code>.    public short getShort(String columnName) throws SQLException;
349    *  
350    * @exception SQLException If an error occurs.    /**
351    */     * This method returns the value of the specified column as a Java
352  public abstract java.sql.Date     * <code>int</code>.
353  getDate(int index) throws SQLException;     *
354       * @param column The name of the column to return.
355  /*************************************************************************/     * @return The column value as a <code>int</code>.
356       * @exception SQLException If an error occurs.
357  /**     */
358    * This method returns the value of the specified column as a Java    public int getInt(String columnName) throws SQLException;
359    * <code>java.sql.Time</code>.  
360    *    /**
361    * @param index The index of the column to return.     * This method returns the value of the specified column as a Java
362    *     * <code>long</code>.
363    * @return The column value as a <code>java.sql.Time</code>.     *
364    *     * @param column The name of the column to return.
365    * @exception SQLException If an error occurs.     * @return The column value as a <code>long</code>.
366    */     * @exception SQLException If an error occurs.
367  public abstract java.sql.Time     */
368  getTime(int index) throws SQLException;    public long getLong(String columnName) throws SQLException;
369    
370  /*************************************************************************/    /**
371       * This method returns the value of the specified column as a Java
372  /**     * <code>float</code>.
373    * This method returns the value of the specified column as a Java     *
374    * <code>java.sql.Timestamp</code>.     * @param column The name of the column to return.
375    *     * @return The column value as a <code>float</code>.
376    * @param index The index of the column to return.     * @exception SQLException If an error occurs.
377    *     */
378    * @return The column value as a <code>java.sql.Timestamp</code>.    public float getFloat(String columnName) throws SQLException;
379    *  
380    * @exception SQLException If an error occurs.    /**
381    */     * This method returns the value of the specified column as a Java
382  public abstract java.sql.Timestamp     * <code>double</code>.
383  getTimestamp(int index) throws SQLException;     *
384       * @param column The name of the column to return.
385  /*************************************************************************/     * @return The column value as a <code>double</code>.
386       * @exception SQLException If an error occurs.
387  /**     */
388    * This method returns the value of the specified column as an ASCII    public double getDouble(String columnName) throws SQLException;
389    * stream.  Note that all the data from this stream must be read before  
390    * fetching the value of any other column.  Please also be aware that    /**
391    * calling <code>next()</code> or <code>close()</code> on this result set     * This method returns the value of the specified column as a Java
392    * will close this stream as well.     * <code>BigDecimal</code>.
393    *     *
394    * @param index The index of the column to return.     * @param index The index of the column to return.
395    *     * @return The column value as a <code>BigDecimal</code>.
396    * @return The column value as an ASCII <code>InputStream</code>.     * @exception SQLException If an error occurs.
397    *     * @deprecated
398    * @exception SQLException If an error occurs.     */
399    */    public BigDecimal getBigDecimal(String columnName, int scale)
400  public abstract InputStream      throws SQLException;
401  getAsciiStream(int index) throws SQLException;  
402      /**
403  /*************************************************************************/     * This method returns the value of the specified column as a Java
404       * byte array.
405  /**     *
406    * This method returns the value of the specified column as a Unicode UTF-8     * @param column The name of the column to return.
407    * stream.  Note that all the data from this stream must be read before     * @return The column value as a byte array
408    * fetching the value of any other column.  Please also be aware that     * @exception SQLException If an error occurs.
409    * calling <code>next()</code> or <code>close()</code> on this result set     */
410    * will close this stream as well.    public byte[] getBytes(String columnName) throws SQLException;
411    *  
412    * @param index The index of the column to return.    /**
413    *     * This method returns the value of the specified column as a Java
414    * @return The column value as a Unicode UTF-8 <code>InputStream</code>.     * <code>java.sql.Date</code>.
415    *     *
416    * @exception SQLException If an error occurs.     * @param column The name of the column to return.
417    */     * @return The column value as a <code>java.sql.Date</code>.
418  public abstract InputStream     * @exception SQLException If an error occurs.
419  getUnicodeStream(int index) throws SQLException;     */
420      public Date getDate(String columnName) throws SQLException;
421  /*************************************************************************/  
422      /**
423  /**     * This method returns the value of the specified column as a Java
424    * This method returns the value of the specified column as a raw byte     * <code>java.sql.Time</code>.
425    * stream.  Note that all the data from this stream must be read before     *
426    * fetching the value of any other column.  Please also be aware that     * @param column The name of the column to return.
427    * calling <code>next()</code> or <code>close()</code> on this result set     * @return The column value as a <code>java.sql.Time</code>.
428    * will close this stream as well.     * @exception SQLException If an error occurs.
429    *     */
430    * @param index The index of the column to return.    public Time getTime(String columnName) throws SQLException;
431    *  
432    * @return The column value as a raw byte <code>InputStream</code>.    /**
433    *     * This method returns the value of the specified column as a Java
434    * @exception SQLException If an error occurs.     * <code>java.sql.Timestamp</code>.
435    */     *
436  public abstract InputStream     * @param column The name of the column to return.
437  getBinaryStream(int index) throws SQLException;     * @return The column value as a <code>java.sql.Timestamp</code>.
438       * @exception SQLException If an error occurs.
439  /*************************************************************************/     */
440      public Timestamp getTimestamp(String columnName) throws SQLException;
441  /**  
442    * This method returns the value of the specified column as a character    /**
443    * stream.  Note that all the data from this stream must be read before     * This method returns the value of the specified column as an ASCII
444    * fetching the value of any other column.  Please also be aware that     * stream.  Note that all the data from this stream must be read before
445    * calling <code>next()</code> or <code>close()</code> on this result set     * fetching the value of any other column.  Please also be aware that
446    * will close this stream as well.     * calling <code>next()</code> or <code>close()</code> on this result set
447    *     * will close this stream as well.
448    * @param index The index of the column to return.     *
449    *     * @param column The name of the column to return.
450    * @return The column value as an character <code>Reader</code>.     * @return The column value as an ASCII <code>InputStream</code>.
451    *     * @exception SQLException If an error occurs.
452    * @exception SQLException If an error occurs.     */
453    */    public InputStream getAsciiStream(String columnName) throws SQLException;
454  public abstract Reader  
455  getCharacterStream(int index) throws SQLException;    /**
456       * This method returns the value of the specified column as a Unicode UTF-8
457  /*************************************************************************/     * stream.  Note that all the data from this stream must be read before
458       * fetching the value of any other column.  Please also be aware that
459  /**     * calling <code>next()</code> or <code>close()</code> on this result set
460    * This method returns the value of the specified column as a Java     * will close this stream as well.
461    * <code>String</code>.     *
462    *     * @param column The name of the column to return.
463    * @param column The name of the column to return.     * @return The column value as a Unicode UTF-8 <code>InputStream</code>.
464    *     * @exception SQLException If an error occurs.
465    * @return The column value as a <code>String</code>.     * @deprecated Use getCharacterStream instead.
466    *     */
467    * @exception SQLException If an error occurs.    public InputStream getUnicodeStream(String columnName) throws SQLException;
468    */  
469  public abstract String    /**
470  getString(String column) throws SQLException;     * This method returns the value of the specified column as a raw byte
471       * stream.  Note that all the data from this stream must be read before
472  /*************************************************************************/     * fetching the value of any other column.  Please also be aware that
473       * calling <code>next()</code> or <code>close()</code> on this result set
474  /**     * will close this stream as well.
475    * This method returns the value of the specified column as a Java     *
476    * <code>Object</code>.     * @param column The name of the column to return.
477    *     * @return The column value as a raw byte <code>InputStream</code>.
478    * @param column The name of the column to return.     * @exception SQLException If an error occurs.
479    *     */
480    * @return The column value as an <code>Object</code>.    public InputStream getBinaryStream(String columnName) throws SQLException;
481    *  
482    * @exception SQLException If an error occurs.    /**
483    */     * This method returns the first SQL warning associated with this result
484  public abstract Object     * set.  Any additional warnings will be chained to this one.
485  getObject(String column) throws SQLException;     *
486       * @return The first SQLWarning for this result set, or <code>null</code> if
487  /*************************************************************************/     *         there are no warnings.
488       * @exception SQLException If an error occurs.
489  /**     */
490    * This method returns the value of the specified column as a Java    public SQLWarning getWarnings() throws SQLException;
491    * <code>boolean</code>.  
492    *    /**
493    * @param column The name of the column to return.     * This method clears all warnings associated with this result set.
494    *     *
495    * @return The column value as a <code>boolean</code>.     * @exception SQLException If an error occurs.
496    *     */
497    * @exception SQLException If an error occurs.    public void clearWarnings() throws SQLException;
498    */  
499  public abstract boolean    /**
500  getBoolean(String column) throws SQLException;     * This method returns the name of the database cursor used by this
501       * result set.
502  /*************************************************************************/     *
503       * @return The name of the database cursor used by this result set.
504  /**     * @exception SQLException If an error occurs.
505    * This method returns the value of the specified column as a Java     */
506    * <code>byte</code>.    public String getCursorName() throws SQLException;
507    *  
508    * @param column The name of the column to return.    /**
509    *     * This method returns data about the columns returned as part of the
510    * @return The column value as a <code>byte</code>.     * result set as a <code>ResultSetMetaData</code> instance.
511    *     *
512    * @exception SQLException If an error occurs.     * @return The <code>ResultSetMetaData</code> instance for this result set.
513    */     * @exception SQLException If an error occurs.
514  public abstract byte     */
515  getByte(String column) throws SQLException;    public ResultSetMetaData getMetaData() throws SQLException;
516    
517  /*************************************************************************/    /**
518       * This method returns the value of the specified column as a Java
519  /**     * <code>Object</code>.
520    * This method returns the value of the specified column as a Java     *
521    * <code>short</code>.     * @param index The index of the column to return.
522    *     * @return The column value as an <code>Object</code>.
523    * @param column The name of the column to return.     * @exception SQLException If an error occurs.
524    *     */
525    * @return The column value as a <code>short</code>.    public Object getObject(int columnIndex) throws SQLException;
526    *  
527    * @exception SQLException If an error occurs.    /**
528    */     * This method returns the value of the specified column as a Java
529  public abstract short     * <code>Object</code>.
530  getShort(String column) throws SQLException;     *
531       * @param column The name of the column to return.
532  /*************************************************************************/     * @return The column value as an <code>Object</code>.
533       * @exception SQLException If an error occurs.
534  /**     */
535    * This method returns the value of the specified column as a Java    public Object getObject(String columnName) throws SQLException;
536    * <code>int</code>.  
537    *    /**
538    * @param column The name of the column to return.     * This method returns the column index of the specified named column.
539    *     *
540    * @return The column value as a <code>int</code>.     * @param column The name of the column.
541    *     * @return The index of the column.
542    * @exception SQLException If an error occurs.     * @exception SQLException If an error occurs.
543    */     */
544  public abstract int    public int findColumn(String columnName) throws SQLException;
545  getInt(String column) throws SQLException;  
546      /**
547  /*************************************************************************/     * This method returns the value of the specified column as a character
548       * stream.  Note that all the data from this stream must be read before
549  /**     * fetching the value of any other column.  Please also be aware that
550    * This method returns the value of the specified column as a Java     * calling <code>next()</code> or <code>close()</code> on this result set
551    * <code>long</code>.     * will close this stream as well.
552    *     *
553    * @param column The name of the column to return.     * @param index The index of the column to return.
554    *     * @return The column value as an character <code>Reader</code>.
555    * @return The column value as a <code>long</code>.     * @exception SQLException If an error occurs.
556    *     */
557    * @exception SQLException If an error occurs.    public Reader getCharacterStream(int columnIndex) throws SQLException;
558    */  
559  public abstract long    /**
560  getLong(String column) throws SQLException;     * This method returns the value of the specified column as a character
561       * stream.  Note that all the data from this stream must be read before
562  /*************************************************************************/     * fetching the value of any other column.  Please also be aware that
563       * calling <code>next()</code> or <code>close()</code> on this result set
564  /**     * will close this stream as well.
565    * This method returns the value of the specified column as a Java     *
566    * <code>float</code>.     * @param column The name of the column to return.
567    *     * @return The column value as an character <code>Reader</code>.
568    * @param column The name of the column to return.     * @exception SQLException If an error occurs.
569    *     */
570    * @return The column value as a <code>float</code>.    public Reader getCharacterStream(String columnName) throws SQLException;
571    *  
572    * @exception SQLException If an error occurs.    /**
573    */     * This method returns the value of the specified column as a Java
574  public abstract float     * <code>BigDecimal</code>.
575  getFloat(String column) throws SQLException;     *
576       * @param index The index of the column to return.
577  /*************************************************************************/     * @return The column value as a <code>BigDecimal</code>.
578       * @exception SQLException If an error occurs.
579  /**     */
580    * This method returns the value of the specified column as a Java    public BigDecimal getBigDecimal(int columnIndex) throws SQLException;
581    * <code>double</code>.  
582    *    /**
583    * @param column The name of the column to return.     * This method returns the value of the specified column as a Java
584    *     * <code>BigDecimal</code>.
585    * @return The column value as a <code>double</code>.     *
586    *     * @param column The name of the column to return.
587    * @exception SQLException If an error occurs.     * @return The column value as a <code>BigDecimal</code>.
588    */     * @exception SQLException If an error occurs.
589  public abstract double     */
590  getDouble(String column) throws SQLException;    public BigDecimal getBigDecimal(String columnName) throws SQLException;
591    
592  /*************************************************************************/    /**
593       * This method tests whether or not the cursor is before the first row
594  /**     * in the result set.
595    * This method returns the value of the specified column as a Java     *
596    * <code>BigDecimal</code>.     * @return <code>true</code> if the cursor is positioned before the first
597    *     *         row, <code>false</code> otherwise.
598    * @param column The name of the column to return.     * @exception SQLException If an error occurs.
599    *     */
600    * @return The column value as a <code>BigDecimal</code>.    public boolean isBeforeFirst() throws SQLException;
601    *  
602    * @exception SQLException If an error occurs.    /**
603    */     * This method tests whether or not the cursor is after the last row
604  public abstract BigDecimal     * in the result set.
605  getBigDecimal(String column) throws SQLException;     *
606       * @return <code>true</code> if the cursor is positioned after the last
607  /*************************************************************************/     *         row, <code>false</code> otherwise.
608       * @exception SQLException If an error occurs.
609  /**     */
610    * This method returns the value of the specified column as a Java    public boolean isAfterLast() throws SQLException;
611    * <code>BigDecimal</code>.  
612    *    /**
613    * @param column The name of the column to return.     * This method tests whether or not the cursor is positioned on the first
614    * @param scale The number of digits to the right of the decimal to return.     * row in the result set.
615    *     *
616    * @return The column value as a <code>BigDecimal</code>.     * @return <code>true</code> if the cursor is positioned on the first
617    *     *         row, <code>false</code> otherwise.
618    * @exception SQLException If an error occurs.     * @exception SQLException If an error occurs.
619    */     */
620  public abstract BigDecimal    public boolean isFirst() throws SQLException;
621  getBigDecimal(String column, int scale) throws SQLException;  
622      /**
623  /*************************************************************************/     * This method tests whether or not the cursor is on the last row
624       * in the result set.
625  /**     *
626    * This method returns the value of the specified column as a Java     * @return <code>true</code> if the cursor is positioned on the last
627    * byte array.     *         row, <code>false</code> otherwise.
628    *     * @exception SQLException If an error occurs.
629    * @param column The name of the column to return.     */
630    *    public boolean isLast() throws SQLException;
631    * @return The column value as a byte array  
632    *    /**
633    * @exception SQLException If an error occurs.     * This method repositions the cursor to before the first row in the
634    */     * result set.
635  public abstract byte[]     *
636  getBytes(String column) throws SQLException;     * @exception SQLException If an error occurs.
637       */
638  /*************************************************************************/    public void beforeFirst() throws SQLException;
639    
640  /**    /**
641    * This method returns the value of the specified column as a Java     * This method repositions the cursor to after the last row in the result
642    * <code>java.sql.Date</code>.     * set.
643    *     *
644    * @param column The name of the column to return.     * @exception SQLException If an error occurs.
645    *     */
646    * @return The column value as a <code>java.sql.Date</code>.    public void afterLast() throws SQLException;
647    *  
648    * @exception SQLException If an error occurs.    /**
649    */     * This method repositions the cursor on the first row in the
650  public abstract java.sql.Date     * result set.
651  getDate(String column) throws SQLException;     *
652       * @return <code>true</code> if the cursor is on a valid row;
653  /*************************************************************************/     *         <code>false</code> if there are no rows in the result set.
654       * @exception SQLException If an error occurs.
655  /**     */
656    * This method returns the value of the specified column as a Java    public boolean first() throws SQLException;
657    * <code>java.sql.Time</code>.  
658    *    /**
659    * @param column The name of the column to return.     * This method repositions the cursor on the last row in the result
660    *     * set.
661    * @return The column value as a <code>java.sql.Time</code>.     *
662    *     * @return <code>true</code> if the cursor is on a valid row;
663    * @exception SQLException If an error occurs.     *         <code>false</code> if there are no rows in the result set.
664    */     * @exception SQLException If an error occurs.
665  public abstract java.sql.Time     */
666  getTime(String column) throws SQLException;    public boolean last() throws SQLException;
667    
668  /*************************************************************************/    /**
669       * This method returns the current row number in the cursor.  Numbering
670  /**     * begins at index 1.
671    * This method returns the value of the specified column as a Java     *
672    * <code>java.sql.Timestamp</code>.     * @return The current row number, or 0 if there is not current row.
673    *     * @exception SQLException If an error occurs.
674    * @param column The name of the column to return.     */
675    *    public int getRow() throws SQLException;
676    * @return The column value as a <code>java.sql.Timestamp</code>.  
677    *    /**
678    * @exception SQLException If an error occurs.     * This method positions the result set to the specified absolute row.
679    */     * Positive numbers are row offsets from the beginning of the result
680  public abstract java.sql.Timestamp     * set (numbering starts from row 1) and negative numbers are row offsets
681  getTimestamp(String column) throws SQLException;     * from the end of the result set (numbering starts from -1).
682       *
683  /*************************************************************************/     * @param row The row to position the result set to.
684       *
685  /**     * @return <code>true</code> if the current position was changed,
686    * This method returns the value of the specified column as an ASCII     *         <code>false</code> otherwise.
687    * stream.  Note that all the data from this stream must be read before     * @exception SQLException If an error occurs.
688    * fetching the value of any other column.  Please also be aware that     */
689    * calling <code>next()</code> or <code>close()</code> on this result set    public boolean absolute(int row) throws SQLException;
690    * will close this stream as well.  
691    *    /**
692    * @param column The name of the column to return.     * This method moves the result set position relative to the current row.
693    *     * The offset can be positive or negative.
694    * @return The column value as an ASCII <code>InputStream</code>.     *
695    *     * @param row The relative row position to move to.
696    * @exception SQLException If an error occurs.     * @return <code>true</code> if the current position was changed,
697    */     *         <code>false</code> otherwise.
698  public abstract InputStream     * @exception SQLException If an error occurs.
699  getAsciiStream(String column) throws SQLException;     */
700      public boolean relative(int rows) throws SQLException;
701  /*************************************************************************/  
702      /**
703  /**     * This method moves the current position to the previous row in the
704    * This method returns the value of the specified column as a Unicode UTF-8     * result set.
705    * stream.  Note that all the data from this stream must be read before     *
706    * fetching the value of any other column.  Please also be aware that     * @return <code>true</code> if the previous row exists, <code>false</code>
707    * calling <code>next()</code> or <code>close()</code> on this result set     *         otherwise.
708    * will close this stream as well.     * @exception SQLException If an error occurs.
709    *     */
710    * @param column The name of the column to return.    public boolean previous() throws SQLException;
711    *  
712    * @return The column value as a Unicode UTF-8 <code>InputStream</code>.    /**
713    *     * This method provides a hint to the driver about which direction the
714    * @exception SQLException If an error occurs.     * result set will be processed in.
715    */     *
716  public abstract InputStream     * @param direction The direction in which rows will be processed. (Values?)
717  getUnicodeStream(String column) throws SQLException;     * @exception SQLException If an error occurs.
718       */
719  /*************************************************************************/    public void setFetchDirection(int direction) throws SQLException;
720    
721  /**    /**
722    * This method returns the value of the specified column as a raw byte     * This method returns the current fetch direction for this result set.
723    * stream.  Note that all the data from this stream must be read before     *
724    * fetching the value of any other column.  Please also be aware that     * @return The fetch direction for this result set.
725    * calling <code>next()</code> or <code>close()</code> on this result set     * @exception SQLException If an error occurs.
726    * will close this stream as well.     */
727    *    public int getFetchDirection() throws SQLException;
728    * @param column The name of the column to return.  
729    *    /**
730    * @return The column value as a raw byte <code>InputStream</code>.     * This method provides a hint to the driver about how many rows at a
731    *     * time it should fetch from the database.
732    * @exception SQLException If an error occurs.     *
733    */     * @param rows The number of rows the driver should fetch per call.
734  public abstract InputStream     * @exception SQLException If an error occurs.
735  getBinaryStream(String column) throws SQLException;     */
736      public void setFetchSize(int rows) throws SQLException;
737  /*************************************************************************/  
738      /**
739  /**     * This method returns the current number of rows that will be fetched
740    * This method returns the value of the specified column as a character     * from the database at a time.
741    * stream.  Note that all the data from this stream must be read before     *
742    * fetching the value of any other column.  Please also be aware that     * @return The current fetch size for this result set.
743    * calling <code>next()</code> or <code>close()</code> on this result set     * @exception SQLException If an error occurs.
744    * will close this stream as well.     */
745    *    public int getFetchSize() throws SQLException;
746    * @param column The name of the column to return.  
747    *    /**
748    * @return The column value as an character <code>Reader</code>.     * This method returns the result set type of this result set.  This will
749    *     * be one of the TYPE_* constants defined in this interface.
750    * @exception SQLException If an error occurs.     *
751    */     * @return The result set type.
752  public abstract Reader     * @exception SQLException If an error occurs.
753  getCharacterStream(String column) throws SQLException;     */
754      public int getType() throws SQLException;
755  /*************************************************************************/  
756      /**
757  /**     * This method returns the concurrency type of this result set.  This will
758    * This method returns the first SQL warning associated with this result     * be one of the CONCUR_* constants defined in this interface.
759    * set.  Any additional warnings will be chained to this one.     *
760    *     * @return The result set concurrency type.
761    * @return The first SQLWarning for this result set, or <code>null</code> if     * @exception SQLException If an error occurs.
762    * there are no warnings.     */
763    *    public int getConcurrency() throws SQLException;
764    * @exception SQLException If an error occurs.  
765    */    /**
766  public abstract SQLWarning     * This method tests whether or not the current row in the result set
767  getWarnings() throws SQLException;     * has been updated.  Updates must be visible in order of this method to
768       * detect the update.
769  /*************************************************************************/     *
770       * @return <code>true</code> if the row has been updated, <code>false</code>
771  /**     *         otherwise.
772    * This method clears all warnings associated with this result set.     * @exception SQLException If an error occurs.
773    *     */
774    * @exception SQLException If an error occurs.    public boolean rowUpdated() throws SQLException;
775    */  
776  public abstract void    /**
777  clearWarnings() throws SQLException;     * This method tests whether or not the current row in the result set
778       * has been inserted.  Inserts must be visible in order of this method to
779  /*************************************************************************/     * detect the insert.
780       *
781  /**     * @return <code>true</code> if the row has been inserted, <code>false</code>
782    * This method returns the name of the database cursor used by this     *         otherwise.
783    * result set.     * @exception SQLException If an error occurs.
784    *     */
785    * @return The name of the database cursor used by this result set.    public boolean rowInserted() throws SQLException;
786    *  
787    * @exception SQLException If an error occurs.    /**
788    */     * This method tests whether or not the current row in the result set
789  public abstract String     * has been deleted.  Deletes must be visible in order of this method to
790  getCursorName() throws SQLException;     * detect the deletion.
791       *
792  /*************************************************************************/     * @return <code>true</code> if the row has been deleted, <code>false</code>
793       *         otherwise.
794  /**     * @exception SQLException If an error occurs.
795    * This method returns data about the columns returned as part of the     */
796    * result set as a <code>ResultSetMetaData</code> instance.    public boolean rowDeleted() throws SQLException;
797    *  
798    * @return The <code>ResultSetMetaData</code> instance for this result set.    /**
799    *     * This method updates the specified column to have a NULL value.  This
800    * @exception SQLException If an error occurs.     * does not update the actual database.  <code>updateRow</code> must be
801    */     * called in order to do that.
802  public abstract ResultSetMetaData     *
803  getMetaData() throws SQLException;     * @return index The index of the column to update.
804       * @exception SQLException If an error occurs.
805  /*************************************************************************/     */
806      public void updateNull(int columnIndex) throws SQLException;
807  /**  
808    * This method returns the column index of the specified named column.    /**
809    *     * This method updates the specified column to have a boolean value.  This
810    * @param column The name of the column.     * does not update the actual database.  <code>updateRow</code> must be
811    *     * called in order to do that.
812    * @return The index of the column.     *
813    *     * @param index The index of the column to update.
814    * @exception SQLException If an error occurs.     * @param value The new value of the column.
815    */     * @exception SQLException If an error occurs.
816  public abstract int     */
817  findColumn(String column) throws SQLException;    public void updateBoolean(int columnIndex, boolean x) throws SQLException;
818    
819  /*************************************************************************/    /**
820       * This method updates the specified column to have a byte value.  This
821  /**     * does not update the actual database.  <code>updateRow</code> must be
822    * This method tests whether or not the cursor is before the first row     * called in order to do that.
823    * in the result set.     *
824    *     * @param index The index of the column to update.
825    * @return <code>true</code> if the cursor is positioned before the first     * @param value The new value of the column.
826    * row, <code>false</code> otherwise.     * @exception SQLException If an error occurs.
827    *     */
828    * @exception SQLException If an error occurs.    public void updateByte(int columnIndex, byte x) throws SQLException;
829    */  
830  public abstract boolean    /**
831  isBeforeFirst() throws SQLException;     * This method updates the specified column to have a short value.  This
832       * does not update the actual database.  <code>updateRow</code> must be
833  /*************************************************************************/     * called in order to do that.
834       *
835  /**     * @param index The index of the column to update.
836    * This method tests whether or not the cursor is after the last row     * @param value The new value of the column.
837    * in the result set.     * @exception SQLException If an error occurs.
838    *     */
839    * @return <code>true</code> if the cursor is positioned after the last    public void updateShort(int columnIndex, short x) throws SQLException;
840    * row, <code>false</code> otherwise.  
841    *    /**
842    * @exception SQLException If an error occurs.     * This method updates the specified column to have an int value.  This
843    */     * does not update the actual database.  <code>updateRow</code> must be
844  public abstract boolean     * called in order to do that.
845  isAfterLast() throws SQLException;     *
846       * @param index The index of the column to update.
847  /*************************************************************************/     * @param value The new value of the column.
848       * @exception SQLException If an error occurs.
849  /**     */
850    * This method tests whether or not the cursor is positioned on the first    public void updateInt(int columnIndex, int x) throws SQLException;
851    * row in the result set.  
852    *    /**
853    * @return <code>true</code> if the cursor is positioned on the first     * This method updates the specified column to have a long value.  This
854    * row, <code>false</code> otherwise.     * does not update the actual database.  <code>updateRow</code> must be
855    *     * called in order to do that.
856    * @exception SQLException If an error occurs.     *
857    */     * @param index The index of the column to update.
858  public abstract boolean     * @param value The new value of the column.
859  isFirst() throws SQLException;     * @exception SQLException If an error occurs.
860       */
861  /*************************************************************************/    public void updateLong(int columnIndex, long x) throws SQLException;
862    
863  /**    /**
864    * This method tests whether or not the cursor is on the last row     * This method updates the specified column to have a float value.  This
865    * in the result set.     * does not update the actual database.  <code>updateRow</code> must be
866    *     * called in order to do that.
867    * @return <code>true</code> if the cursor is positioned on the last     *
868    * row, <code>false</code> otherwise.     * @param index The index of the column to update.
869    *     * @param value The new value of the column.
870    * @exception SQLException If an error occurs.     * @exception SQLException If an error occurs.
871    */     */
872  public abstract boolean    public void updateFloat(int columnIndex, float x) throws SQLException;
873  isLast() throws SQLException;  
874      /**
875  /*************************************************************************/     * This method updates the specified column to have a double value.  This
876       * does not update the actual database.  <code>updateRow</code> must be
877  /**     * called in order to do that.
878    * This method repositions the cursor to before the first row in the     *
879    * result set.     * @param index The index of the column to update.
880    *     * @param value The new value of the column.
881    * @exception SQLException If an error occurs.     * @exception SQLException If an error occurs.
882    */     */
883  public abstract void    public void updateDouble(int columnIndex, double x) throws SQLException;
884  beforeFirst() throws SQLException;  
885      /**
886  /*************************************************************************/     * This method updates the specified column to have a BigDecimal value.  This
887       * does not update the actual database.  <code>updateRow</code> must be
888  /**     * called in order to do that.
889    * This method repositions the cursor to after the last row in the result     *
890    * set.     * @param index The index of the column to update.
891    *     * @param value The new value of the column.
892    * @exception SQLException If an error occurs.     * @exception SQLException If an error occurs.
893    */     */
894  public abstract void    public void updateBigDecimal(int columnIndex, BigDecimal x)
895  afterLast() throws SQLException;      throws SQLException;
896    
897  /*************************************************************************/    /**
898       * This method updates the specified column to have a String value.  This
899  /**     * does not update the actual database.  <code>updateRow</code> must be
900    * This method repositions the cursor on the first row in the     * called in order to do that.
901    * result set.     *
902    *     * @param index The index of the column to update.
903    * @return <code>true</code> if the cursor is on a valid row;     * @param value The new value of the column.
904    * <code>false</code> if there are no rows in the result set.     * @exception SQLException If an error occurs.
905    *     */
906    * @exception SQLException If an error occurs.    public void updateString(int columnIndex, String x) throws SQLException;
907    */  
908  public abstract boolean    /**
909  first() throws SQLException;     * This method updates the specified column to have a byte array value.  This
910       * does not update the actual database.  <code>updateRow</code> must be
911  /*************************************************************************/     * called in order to do that.
912       *
913  /**     * @param index The index of the column to update.
914    * This method repositions the cursor on the last row in the result     * @param value The new value of the column.
915    * set.     * @exception SQLException If an error occurs.
916    *     */
917    * @return <code>true</code> if the cursor is on a valid row;    public void updateBytes(int columnIndex, byte[] x) throws SQLException;
918    * <code>false</code> if there are no rows in the result set.  
919    *    /**
920    * @exception SQLException If an error occurs.     * This method updates the specified column to have a java.sql.Date value.  This
921    */     * does not update the actual database.  <code>updateRow</code> must be
922  public abstract boolean     * called in order to do that.
923  last() throws SQLException;     *
924       * @param index The index of the column to update.
925  /*************************************************************************/     * @param value The new value of the column.
926       * @exception SQLException If an error occurs.
927  /**     */
928    * This method returns the current row number in the cursor.  Numbering    public void updateDate(int columnIndex, Date x) throws SQLException;
929    * begins at index 1.  
930    *    /**
931    * @return The current row number, or 0 if there is not current row.     * This method updates the specified column to have a java.sql.Time value.  This
932    *     * does not update the actual database.  <code>updateRow</code> must be
933    * @exception SQLException If an error occurs.     * called in order to do that.
934    */     *
935  public abstract int     * @param index The index of the column to update.
936  getRow() throws SQLException;     * @param value The new value of the column.
937       * @exception SQLException If an error occurs.
938  /*************************************************************************/     */
939      public void updateTime(int columnIndex, Time x) throws SQLException;
940  /**  
941    * This method positions the result set to the specified absolute row.    /**
942    * Positive numbers are row offsets from the beginning of the result     * This method updates the specified column to have a java.sql.Timestamp value.  
943    * set (numbering starts from row 1) and negative numbers are row offsets     * This does not update the actual database.  <code>updateRow</code> must be
944    * from the end of the result set (numbering starts from -1).     * called in order to do that.
945    *     *
946    * @param row The row to position the result set to.     * @param index The index of the column to update.
947    *     * @param value The new value of the column.
948    * @return <code>true</code> if the current position was changed,     * @exception SQLException If an error occurs.
949    * <code>false</code> otherwise.     */
950    *    public void updateTimestamp(int columnIndex, Timestamp x)
951    * @exception SQLException If an error occurs.      throws SQLException;
952    */  
953  public abstract boolean    /**
954  absolute(int row) throws SQLException;     * This method updates the specified column from an ASCII text stream.
955       * This does not update the actual database.  <code>updateRow</code> must be
956  /*************************************************************************/     * called in order to do that.
957       *
958  /**     * @param index The index of the column to update.
959    * This method moves the result set position relative to the current row.     * @param value The new value of the column.
960    * The offset can be positive or negative.     * @param length The length of the stream.
961    *     * @exception SQLException If an error occurs.
962    * @param row The relative row position to move to.     */
963    *    public void updateAsciiStream(int columnIndex, InputStream x, int length)
964    * @return <code>true</code> if the current position was changed,      throws SQLException;
965    * <code>false</code> otherwise.  
966    *    /**
967    * @exception SQLException If an error occurs.     * This method updates the specified column from a binary stream.
968    */     * This does not update the actual database.  <code>updateRow</code> must be
969  public abstract boolean     * called in order to do that.
970  relative(int row) throws SQLException;     *
971       * @param index The index of the column to update.
972  /*************************************************************************/     * @param value The new value of the column.
973       * @param length The length of the stream.
974  /**     * @exception SQLException If an error occurs.
975    * This method provides a hint to the driver about which direction the     */
976    * result set will be processed in.    public void updateBinaryStream(int columnIndex, InputStream x, int length)
977    *      throws SQLException;
978    * @param direction The direction in which rows will be processed. (Values?)  
979    *    /**
980    * @exception SQLException If an error occurs.     * This method updates the specified column from a character stream.
981    */     * This does not update the actual database.  <code>updateRow</code> must be
982  public abstract void     * called in order to do that.
983  setFetchDirection(int direction) throws SQLException;     *
984       * @param index The index of the column to update.
985  /*************************************************************************/     * @param value The new value of the column.
986       * @param length The length of the stream.
987  /**     * @exception SQLException If an error occurs.
988    * This method returns the current fetch direction for this result set.     */
989    *    public void updateCharacterStream(int columnIndex, Reader x, int length)
990    * @return The fetch direction for this result set.      throws SQLException;
991    *  
992    * @exception SQLException If an error occurs.    /**
993    */     * This method updates the specified column to have an Object value.  
994  public abstract int     * This does not update the actual database.  <code>updateRow</code> must be
995  getFetchDirection() throws SQLException;     * called in order to do that.
996       *
997  /*************************************************************************/     * @param index The index of the column to update.
998       * @param value The new value of the column.
999  /**     *
1000    * This method provides a hint to the driver about how many rows at a     * @exception SQLException If an error occurs.
1001    * time it should fetch from the database.     */
1002    *    public void updateObject(int columnIndex, Object x, int scale)
1003    * @param rows The number of rows the driver should fetch per call.      throws SQLException;
1004    *  
1005    * @exception SQLException If an error occurs.    /**
1006    */     * This method updates the specified column to have an Object value.  
1007  public abstract void     * This does not update the actual database.  <code>updateRow</code> must be
1008  setFetchSize(int rows) throws SQLException;     * called in order to do that.
1009       *
1010  /*************************************************************************/     * @param index The index of the column to update.
1011       * @param value The new value of the column.
1012  /**     * @param scale The scale of the object in question, which is used only
1013    * This method returns the current number of rows that will be fetched     *        for numeric type objects.
1014    * from the database at a time.     * @exception SQLException If an error occurs.
1015    *     */
1016    * @return The current fetch size for this result set.    public void updateObject(int columnIndex, Object x) throws SQLException;
1017    *  
1018    * @exception SQLException If an error occurs.    /**
1019    */     * This method updates the specified column to have a NULL value.  This
1020  public abstract int     * does not update the actual database.  <code>updateRow</code> must be
1021  getFetchSize() throws SQLException;     * called in order to do that.
1022       *
1023  /*************************************************************************/     * @return name The name of the column to update.
1024       * @exception SQLException If an error occurs.
1025  /**     */
1026    * This method returns the result set type of this result set.  This will    public void updateNull(String columnName) throws SQLException;
1027    * be one of the TYPE_* constants defined in this interface.  
1028    *    /**
1029    * @return The result set type.     * This method updates the specified column to have a boolean value.  This
1030    *     * does not update the actual database.  <code>updateRow</code> must be
1031    * @exception SQLException If an error occurs.     * called in order to do that.
1032    */     *
1033  public abstract int     * @param name The name of the column to update.
1034  getType() throws SQLException;     * @param value The new value of the column.
1035       * @exception SQLException If an error occurs.
1036  /*************************************************************************/     */
1037      public void updateBoolean(String columnName, boolean x) throws SQLException;
1038  /**  
1039    * This method returns the concurrency type of this result set.  This will    /**
1040    * be one of the CONCUR_* constants defined in this interface.     * This method updates the specified column to have a byte value.  This
1041    *     * does not update the actual database.  <code>updateRow</code> must be
1042    * @return The result set concurrency type.     * called in order to do that.
1043    *     *
1044    * @exception SQLException If an error occurs.     * @param name The name of the column to update.
1045    */     * @param value The new value of the column.
1046  public abstract int     * @exception SQLException If an error occurs.
1047  getConcurrency() throws SQLException;     */
1048      public void updateByte(String columnName, byte x) throws SQLException;
1049  /*************************************************************************/  
1050      /**
1051  /**     * This method updates the specified column to have a short value.  This
1052    * This method tests whether or not the current row in the result set     * does not update the actual database.  <code>updateRow</code> must be
1053    * has been updated.  Updates must be visible in order of this method to     * called in order to do that.
1054    * detect the update.     *
1055    *     * @param name The name of the column to update.
1056    * @return <code>true</code> if the row has been updated, <code>false</code>     * @param value The new value of the column.
1057    * otherwise.     * @exception SQLException If an error occurs.
1058    *     */
1059    * @exception SQLException If an error occurs.    public void updateShort(String columnName, short x) throws SQLException;
1060    */  
1061  public abstract boolean    /**
1062  rowUpdated() throws SQLException;     * This method updates the specified column to have an int value.  This
1063       * does not update the actual database.  <code>updateRow</code> must be
1064  /*************************************************************************/     * called in order to do that.
1065       *
1066  /**     * @param name The name of the column to update.
1067    * This method tests whether or not the current row in the result set     * @param value The new value of the column.
1068    * has been inserted.  Inserts must be visible in order of this method to     * @exception SQLException If an error occurs.
1069    * detect the insert.     */
1070    *    public void updateInt(String columnName, int x) throws SQLException;
1071    * @return <code>true</code> if the row has been inserted, <code>false</code>  
1072    * otherwise.    /**
1073    *     * This method updates the specified column to have a long value.  This
1074    * @exception SQLException If an error occurs.     * does not update the actual database.  <code>updateRow</code> must be
1075    */     * called in order to do that.
1076  public abstract boolean     *
1077  rowInserted() throws SQLException;     * @param name The name of the column to update.
1078       * @param value The new value of the column.
1079  /*************************************************************************/     * @exception SQLException If an error occurs.
1080       */
1081  /**    public void updateLong(String columnName, long x) throws SQLException;
1082    * This method tests whether or not the current row in the result set  
1083    * has been deleted.  Deletes must be visible in order of this method to    /**
1084    * detect the deletion.     * This method updates the specified column to have a float value.  This
1085    *     * does not update the actual database.  <code>updateRow</code> must be
1086    * @return <code>true</code> if the row has been deleted, <code>false</code>     * called in order to do that.
1087    * otherwise.     *
1088    *     * @param name The name of the column to update.
1089    * @exception SQLException If an error occurs.     * @param value The new value of the column.
1090    */     * @exception SQLException If an error occurs.
1091  public abstract boolean     */
1092  rowDeleted() throws SQLException;    public void updateFloat(String columnName, float x) throws SQLException;
1093    
1094  /*************************************************************************/    /**
1095       * This method updates the specified column to have a double value.  This
1096  /**     * does not update the actual database.  <code>updateRow</code> must be
1097    * This method updates the specified column to have a NULL value.  This     * called in order to do that.
1098    * does not update the actual database.  <code>updateRow</code> must be     *
1099    * called in order to do that.     * @param name The name of the column to update.
1100    *     * @param value The new value of the column.
1101    * @return index The index of the column to update.     * @exception SQLException If an error occurs.
1102    *     */
1103    * @exception SQLException If an error occurs.    public void updateDouble(String columnName, double x) throws SQLException;
1104    */  
1105  public abstract void    /**
1106  updateNull(int index) throws SQLException;     * This method updates the specified column to have a BigDecimal value.  This
1107       * does not update the actual database.  <code>updateRow</code> must be
1108  /*************************************************************************/     * called in order to do that.
1109       *
1110  /**     * @param name The name of the column to update.
1111    * This method updates the specified column to have a boolean value.  This     * @param value The new value of the column.
1112    * does not update the actual database.  <code>updateRow</code> must be     * @exception SQLException If an error occurs.
1113    * called in order to do that.     */
1114    *    public void updateBigDecimal(String columnName, BigDecimal x)
1115    * @param index The index of the column to update.      throws SQLException;
1116    * @param value The new value of the column.  
1117    *    /**
1118    * @exception SQLException If an error occurs.     * This method updates the specified column to have a String value.  This
1119    */     * does not update the actual database.  <code>updateRow</code> must be
1120  public abstract void     * called in order to do that.
1121  updateBoolean(int index, boolean value) throws SQLException;     *
1122       * @param name The name of the column to update.
1123  /*************************************************************************/     * @param value The new value of the column.
1124       * @exception SQLException If an error occurs.
1125  /**     */
1126    * This method updates the specified column to have a byte value.  This    public void updateString(String columnName, String x) throws SQLException;
1127    * does not update the actual database.  <code>updateRow</code> must be  
1128    * called in order to do that.    /**
1129    *     * This method updates the specified column to have a byte array value.  This
1130    * @param index The index of the column to update.     * does not update the actual database.  <code>updateRow</code> must be
1131    * @param value The new value of the column.     * called in order to do that.
1132    *     *
1133    * @exception SQLException If an error occurs.     * @param name The name of the column to update.
1134    */     * @param value The new value of the column.
1135  public abstract void     * @exception SQLException If an error occurs.
1136  updateByte(int index, byte value) throws SQLException;     */
1137      public void updateBytes(String columnName, byte[] x) throws SQLException;
1138  /*************************************************************************/  
1139      /**
1140  /**     * This method updates the specified column to have a java.sql.Date value.  This
1141    * This method updates the specified column to have a short value.  This     * does not update the actual database.  <code>updateRow</code> must be
1142    * does not update the actual database.  <code>updateRow</code> must be     * called in order to do that.
1143    * called in order to do that.     *
1144    *     * @param name The name of the column to update.
1145    * @param index The index of the column to update.     * @param value The new value of the column.
1146    * @param value The new value of the column.     * @exception SQLException If an error occurs.
1147    *     */
1148    * @exception SQLException If an error occurs.    public void updateDate(String columnName, Date x) throws SQLException;
1149    */  
1150  public abstract void    /**
1151  updateShort(int index, short value) throws SQLException;     * This method updates the specified column to have a java.sql.Time value.  This
1152       * does not update the actual database.  <code>updateRow</code> must be
1153  /*************************************************************************/     * called in order to do that.
1154       *
1155  /**     * @param name The name of the column to update.
1156    * This method updates the specified column to have an int value.  This     * @param value The new value of the column.
1157    * does not update the actual database.  <code>updateRow</code> must be     * @exception SQLException If an error occurs.
1158    * called in order to do that.     */
1159    *    public void updateTime(String columnName, Time x) throws SQLException;
1160    * @param index The index of the column to update.  
1161    * @param value The new value of the column.    /**
1162    *     * This method updates the specified column to have a java.sql.Timestamp value.  
1163    * @exception SQLException If an error occurs.     * This does not update the actual database.  <code>updateRow</code> must be
1164    */     * called in order to do that.
1165  public abstract void     *
1166  updateInt(int index, int value) throws SQLException;     * @param name The name of the column to update.
1167       * @param value The new value of the column.
1168  /*************************************************************************/     * @exception SQLException If an error occurs.
1169       */
1170  /**    public void updateTimestamp(String columnName, Timestamp x)
1171    * This method updates the specified column to have a long value.  This      throws SQLException;
1172    * does not update the actual database.  <code>updateRow</code> must be  
1173    * called in order to do that.    /**
1174    *     * This method updates the specified column from an ASCII text stream.
1175    * @param index The index of the column to update.     * This does not update the actual database.  <code>updateRow</code> must be
1176    * @param value The new value of the column.     * called in order to do that.
1177    *     *
1178    * @exception SQLException If an error occurs.     * @param name The name of the column to update.
1179    */     * @param value The new value of the column.
1180  public abstract void     * @param length The length of the stream.
1181  updateLong(int index, long value) throws SQLException;     * @exception SQLException If an error occurs.
1182       */
1183  /*************************************************************************/    public void updateAsciiStream(String columnName, InputStream x, int length)
1184        throws SQLException;
1185  /**  
1186    * This method updates the specified column to have a float value.  This    /**
1187    * does not update the actual database.  <code>updateRow</code> must be     * This method updates the specified column from a binary stream.
1188    * called in order to do that.     * This does not update the actual database.  <code>updateRow</code> must be
1189    *     * called in order to do that.
1190    * @param index The index of the column to update.     *
1191    * @param value The new value of the column.     * @param name The name of the column to update.
1192    *     * @param value The new value of the column.
1193    * @exception SQLException If an error occurs.     * @param length The length of the stream.
1194    */     * @exception SQLException If an error occurs.
1195  public abstract void     */
1196  updateFloat(int index, float value) throws SQLException;    public void updateBinaryStream(String columnName, InputStream x, int length)
1197        throws SQLException;
1198  /*************************************************************************/  
1199      /**
1200  /**     * This method updates the specified column from a character stream.
1201    * This method updates the specified column to have a double value.  This     * This does not update the actual database.  <code>updateRow</code> must be
1202    * does not update the actual database.  <code>updateRow</code> must be     * called in order to do that.
1203    * called in order to do that.     *
1204    *     * @param name The name of the column to update.
1205    * @param index The index of the column to update.     * @param value The new value of the column.
1206    * @param value The new value of the column.     * @param length The length of the stream.
1207    *     *
1208    * @exception SQLException If an error occurs.     * @exception SQLException If an error occurs.
1209    */     */
1210  public abstract void    public void updateCharacterStream(String columnName, Reader reader,
1211  updateDouble(int index, double value) throws SQLException;      int length) throws SQLException;
1212    
1213  /*************************************************************************/    /**
1214       * This method updates the specified column to have an Object value.  
1215  /**     * This does not update the actual database.  <code>updateRow</code> must be
1216    * This method updates the specified column to have a BigDecimal value.  This     * called in order to do that.
1217    * does not update the actual database.  <code>updateRow</code> must be     *
1218    * called in order to do that.     * @param name The name of the column to update.
1219    *     * @param value The new value of the column.
1220    * @param index The index of the column to update.     * @exception SQLException If an error occurs.
1221    * @param value The new value of the column.     */
1222    *    public void updateObject(String columnName, Object x, int scale)
1223    * @exception SQLException If an error occurs.      throws SQLException;
1224    */  
1225  public abstract void    /**
1226  updateBigDecimal(int index, BigDecimal value) throws SQLException;     * This method updates the specified column to have an Object value.  
1227       * This does not update the actual database.  <code>updateRow</code> must be
1228  /*************************************************************************/     * called in order to do that.
1229       *
1230  /**     * @param name The name of the column to update.
1231    * This method updates the specified column to have a String value.  This     * @param value The new value of the column.
1232    * does not update the actual database.  <code>updateRow</code> must be     * @param scale The scale of the object in question, which is used only
1233    * called in order to do that.     *        for numeric type objects.
1234    *     * @exception SQLException If an error occurs.
1235    * @param index The index of the column to update.     */
1236    * @param value The new value of the column.    public void updateObject(String columnName, Object x) throws SQLException;
1237    *  
1238    * @exception SQLException If an error occurs.    /**
1239    */     * This method inserts the current row into the database.  The result set
1240  public abstract void     * must be positioned on the insert row in order to call this method
1241  updateString(int index, String value) throws SQLException;     * successfully.
1242       *
1243  /*************************************************************************/     * @exception SQLException If an error occurs.
1244       */
1245  /**    public void insertRow() throws SQLException;
1246    * This method updates the specified column to have a byte array value.  This  
1247    * does not update the actual database.  <code>updateRow</code> must be    /**
1248    * called in order to do that.     * This method updates the current row in the database.
1249    *     *
1250    * @param index The index of the column to update.     * @exception SQLException If an error occurs.
1251    * @param value The new value of the column.     */
1252    *    public void updateRow() throws SQLException;
1253    * @exception SQLException If an error occurs.  
1254    */    /**
1255  public abstract void     * This method deletes the current row in the database.
1256  updateBytes(int index, byte[] value) throws SQLException;     *
1257       * @exception SQLException If an error occurs.
1258  /*************************************************************************/     */
1259      public void deleteRow() throws SQLException;
1260  /**  
1261    * This method updates the specified column to have a java.sql.Date value.  This    /**
1262    * does not update the actual database.  <code>updateRow</code> must be     * This method refreshes the contents of the current row from the database.
1263    * called in order to do that.     *
1264    *     * @exception SQLException If an error occurs.
1265    * @param index The index of the column to update.     */
1266    * @param value The new value of the column.    public void refreshRow() throws SQLException;
1267    *  
1268    * @exception SQLException If an error occurs.    /**
1269    */     * This method cancels any changes that have been made to a row.  If
1270  public abstract void     * the <code>rowUpdate</code> method has been called, then the changes
1271  updateDate(int index, java.sql.Date value) throws SQLException;     * cannot be undone.
1272       *
1273  /*************************************************************************/     * @exception SQLException If an error occurs.
1274       */
1275  /**    public void cancelRowUpdates() throws SQLException;
1276    * This method updates the specified column to have a java.sql.Time value.  This  
1277    * does not update the actual database.  <code>updateRow</code> must be    /**
1278    * called in order to do that.     * This method positions the result set to the "insert row", which allows
1279    *     * a new row to be inserted into the database from the result set.
1280    * @param index The index of the column to update.     *
1281    * @param value The new value of the column.     * @exception SQLException If an error occurs.
1282    *     */
1283    * @exception SQLException If an error occurs.    public void moveToInsertRow() throws SQLException;
1284    */  
1285  public abstract void    /**
1286  updateTime(int index, java.sql.Time value) throws SQLException;     * This method moves the result set position from the insert row back to
1287       * the current row that was selected prior to moving to the insert row.
1288  /*************************************************************************/     *
1289       * @exception SQLException If an error occurs.
1290  /**     */
1291    * This method updates the specified column to have a java.sql.Timestamp value.      public void moveToCurrentRow() throws SQLException;
1292    * This does not update the actual database.  <code>updateRow</code> must be  
1293    * called in order to do that.    /**
1294    *     * This method returns a the <code>Statement</code> that was used to
1295    * @param index The index of the column to update.     * produce this result set.
1296    * @param value The new value of the column.     *
1297    *     * @return The <code>Statement</code> used to produce this result set.
1298    * @exception SQLException If an error occurs.     *
1299    */     * @exception SQLException If an error occurs.
1300  public abstract void     */
1301  updateTimestamp(int index, java.sql.Timestamp value) throws SQLException;    public Statement getStatement() throws SQLException;
1302    
1303  /*************************************************************************/    /**
1304       * This method returns the value of the specified column as a Java
1305  /**     * <code>Object</code> using the specified SQL type to Java type map.
1306    * This method updates the specified column from an ASCII text stream.     *
1307    * This does not update the actual database.  <code>updateRow</code> must be     * @param index The index of the column to return.
1308    * called in order to do that.     * @param map The SQL type to Java type map to use.
1309    *     * @return The value of the column as an <code>Object</code>.
1310    * @param index The index of the column to update.     * @exception SQLException If an error occurs.
1311    * @param value The new value of the column.     */
1312    * @param length The length of the stream.    public Object getObject(int i, Map map) throws SQLException;
1313    *  
1314    * @exception SQLException If an error occurs.    /**
1315    */     * This method returns a <code>Ref</code> for the specified column which
1316  public abstract void     * represents the structured type for the column.
1317  updateAsciiStream(int index, InputStream value, int length) throws SQLException;     *
1318       * @param index  The index of the column to return.
1319  /*************************************************************************/     * @return A <code>Ref</code> object for the column
1320       * @exception SQLException If an error occurs.
1321  /**     */
1322    * This method updates the specified column from a binary stream.    public Ref getRef(int i) throws SQLException;
1323    * This does not update the actual database.  <code>updateRow</code> must be  
1324    * called in order to do that.    /**
1325    *     * This method returns the specified column value as a BLOB.
1326    * @param index The index of the column to update.     *
1327    * @param value The new value of the column.     * @param index The index of the column value to return.
1328    * @param length The length of the stream.     * @return The value of the column as a BLOB.
1329    *     * @exception SQLException If an error occurs.
1330    * @exception SQLException If an error occurs.     */
1331    */    public Blob getBlob(int i) throws SQLException;
1332  public abstract void  
1333  updateBinaryStream(int index, InputStream value, int length)    /**
1334                     throws SQLException;     * This method returns the specified column value as a CLOB.
1335       *
1336  /*************************************************************************/     * @param index The index of the column value to return.
1337       * @return The value of the column as a CLOB.
1338  /**     * @exception SQLException If an error occurs.
1339    * This method updates the specified column from a character stream.     */
1340    * This does not update the actual database.  <code>updateRow</code> must be    public Clob getClob(int i) throws SQLException;
1341    * called in order to do that.  
1342    *    /**
1343    * @param index The index of the column to update.     * This method returns the specified column value as an <code>Array</code>.
1344    * @param value The new value of the column.     *
1345    * @param length The length of the stream.     * @param index The index of the column value to return.
1346    *     * @return The value of the column as an <code>Array</code>.
1347    * @exception SQLException If an error occurs.     * @exception SQLException If an error occurs.
1348    */     */
1349  public abstract void    public Array getArray(int i) throws SQLException;
1350  updateCharacterStream(int index, Reader value, int length) throws SQLException;  
1351      /**
1352  /*************************************************************************/     * This method returns the value of the specified column as a Java
1353       * <code>Object</code> using the specified SQL type to Java type map.
1354  /**     *
1355    * This method updates the specified column to have an Object value.       * @param name The name of the column to return.
1356    * This does not update the actual database.  <code>updateRow</code> must be     * @param map The SQL type to Java type map to use.
1357    * called in order to do that.     * @return The value of the column as an <code>Object</code>.
1358    *     * @exception SQLException If an error occurs.
1359    * @param index The index of the column to update.     */
1360    * @param value The new value of the column.    public Object getObject(String colName, Map map) throws SQLException;
1361    *  
1362    * @exception SQLException If an error occurs.    /**
1363    */     * This method returns a <code>Ref</code> for the specified column which
1364  public abstract void     * represents the structured type for the column.
1365  updateObject(int index, Object value) throws SQLException;     *
1366       * @param index  The index of the column to return.
1367  /*************************************************************************/     * @return A <code>Ref</code> object for the column
1368       * @exception SQLException If an error occurs.
1369  /**     */
1370    * This method updates the specified column to have an Object value.      public Ref getRef(String colName) throws SQLException;
1371    * This does not update the actual database.  <code>updateRow</code> must be  
1372    * called in order to do that.    /**
1373    *     * This method returns the specified column value as a BLOB.
1374    * @param index The index of the column to update.     *
1375    * @param value The new value of the column.     * @param name The name of the column value to return.
1376    * @param scale The scale of the object in question, which is used only     * @return The value of the column as a BLOB.
1377    * for numeric type objects.     * @exception SQLException If an error occurs.
1378    *     */
1379    * @exception SQLException If an error occurs.    public Blob getBlob(String colName) throws SQLException;
1380    */  
1381  public abstract void    /**
1382  updateObject(int index, Object value, int scale) throws SQLException;     * This method returns the specified column value as a CLOB.
1383       *
1384  /*************************************************************************/     * @param name The name of the column value to return.
1385       * @return The value of the column as a CLOB.
1386  /**     * @exception SQLException If an error occurs.
1387    * This method updates the specified column to have a NULL value.  This     */
1388    * does not update the actual database.  <code>updateRow</code> must be    public Clob getClob(String colName) throws SQLException;
1389    * called in order to do that.  
1390    *    /**
1391    * @return name The name of the column to update.     * This method returns the specified column value as an <code>Array</code>.
1392    *     *
1393    * @exception SQLException If an error occurs.     * @param name The name of the column value to return.
1394    */     * @return The value of the column as an <code>Array</code>.
1395  public abstract void     * @exception SQLException If an error occurs.
1396  updateNull(String name) throws SQLException;     */
1397      public Array getArray(String colName) throws SQLException;
1398  /*************************************************************************/  
1399      /**
1400  /**     * This method returns the specified column value as a
1401    * This method updates the specified column to have a boolean value.  This     * <code>java.sql.Date</code>.  The specified <code>Calendar</code> is used
1402    * does not update the actual database.  <code>updateRow</code> must be     * to generate a value for the date if the database does not support
1403    * called in order to do that.     * timezones.
1404    *     *
1405    * @param name The name of the column to update.     * @param index The index of the column value to return.
1406    * @param value The new value of the column.     * @param cal The <code>Calendar</code> to use for calculating timezones.
1407    *     * @return The value of the column as a <code>java.sql.Date</code>.
1408    * @exception SQLException If an error occurs.     * @exception SQLException If an error occurs.
1409    */     */
1410  public abstract void    public Date getDate(int columnIndex, Calendar cal) throws SQLException;
1411  updateBoolean(String name, boolean value) throws SQLException;  
1412      /**
1413  /*************************************************************************/     * This method returns the specified column value as a
1414       * <code>java.sql.Date</code>.  The specified <code>Calendar</code> is used
1415  /**     * to generate a value for the date if the database does not support
1416    * This method updates the specified column to have a byte value.  This     * timezones.
1417    * does not update the actual database.  <code>updateRow</code> must be     *
1418    * called in order to do that.     * @param name The name of the column value to return.
1419    *     * @param cal The <code>Calendar</code> to use for calculating timezones.
1420    * @param name The name of the column to update.     * @return The value of the column as a <code>java.sql.Date</code>.
1421    * @param value The new value of the column.     * @exception SQLException If an error occurs.
1422    *     */
1423    * @exception SQLException If an error occurs.    public Date getDate(String columnName, Calendar cal) throws SQLException;
1424    */  
1425  public abstract void    /**
1426  updateByte(String name, byte value) throws SQLException;     * This method returns the specified column value as a
1427       * <code>java.sql.Time</code>.  The specified <code>Calendar</code> is used
1428  /*************************************************************************/     * to generate a value for the time if the database does not support
1429       * timezones.
1430  /**     *
1431    * This method updates the specified column to have a short value.  This     * @param index The index of the column value to return.
1432    * does not update the actual database.  <code>updateRow</code> must be     * @param cal The <code>Calendar</code> to use for calculating timezones.
1433    * called in order to do that.     * @return The value of the column as a <code>java.sql.Time</code>.
1434    *     * @exception SQLException If an error occurs.
1435    * @param name The name of the column to update.     */
1436    * @param value The new value of the column.    public Time getTime(int columnIndex, Calendar cal) throws SQLException;
1437    *  
1438    * @exception SQLException If an error occurs.    /**
1439    */     * This method returns the specified column value as a
1440  public abstract void     * <code>java.sql.Time</code>.  The specified <code>Calendar</code> is used
1441  updateShort(String name, short value) throws SQLException;     * to generate a value for the time if the database does not support
1442       * timezones.
1443  /*************************************************************************/     *
1444       * @param name The name of the column value to return.
1445  /**     * @param cal The <code>Calendar</code> to use for calculating timezones.
1446    * This method updates the specified column to have an int value.  This     * @return The value of the column as a <code>java.sql.Time</code>.
1447    * does not update the actual database.  <code>updateRow</code> must be     * @exception SQLException If an error occurs.
1448    * called in order to do that.     */
1449    *    public Time getTime(String columnName, Calendar cal) throws SQLException;
1450    * @param name The name of the column to update.  
1451    * @param value The new value of the column.    /**
1452    *     * This method returns the specified column value as a
1453    * @exception SQLException If an error occurs.     * <code>java.sql.Timestamp</code>.  The specified <code>Calendar</code> is used
1454    */     * to generate a value for the timestamp if the database does not support
1455  public abstract void     * timezones.
1456  updateInt(String name, int value) throws SQLException;     *
1457       * @param index The index of the column value to return.
1458  /*************************************************************************/     * @param cal The <code>Calendar</code> to use for calculating timezones.
1459       * @return The value of the column as a <code>java.sql.Timestamp</code>.
1460  /**     * @exception SQLException If an error occurs.
1461    * This method updates the specified column to have a long value.  This     */
1462    * does not update the actual database.  <code>updateRow</code> must be    public Timestamp getTimestamp(int columnIndex, Calendar cal)
1463    * called in order to do that.      throws SQLException;
1464    *  
1465    * @param name The name of the column to update.    /**
1466    * @param value The new value of the column.     * This method returns the specified column value as a
1467    *     * <code>java.sql.Timestamp</code>.  The specified <code>Calendar</code> is used
1468    * @exception SQLException If an error occurs.     * to generate a value for the timestamp if the database does not support
1469    */     * timezones.
1470  public abstract void     *
1471  updateLong(String name, long value) throws SQLException;     * @param name The name of the column value to return.
1472       * @param cal The <code>Calendar</code> to use for calculating timezones.
1473  /*************************************************************************/     *
1474       * @return The value of the column as a <code>java.sql.Timestamp</code>.
1475  /**     *
1476    * This method updates the specified column to have a float value.  This     * @exception SQLException If an error occurs.
1477    * does not update the actual database.  <code>updateRow</code> must be     */
1478    * called in order to do that.    public Timestamp getTimestamp(String columnName, Calendar cal)
1479    *      throws SQLException;
1480    * @param name The name of the column to update.  
1481    * @param value The new value of the column.    /**
1482    *     * @since 1.4
1483    * @exception SQLException If an error occurs.     */
1484    */    public URL getURL(int columnIndex) throws SQLException;
1485  public abstract void  
1486  updateFloat(String name, float value) throws SQLException;    /**
1487       * @since 1.4
1488  /*************************************************************************/     */
1489      public URL getURL(String columnName) throws SQLException;
1490  /**  
1491    * This method updates the specified column to have a double value.  This    /**
1492    * does not update the actual database.  <code>updateRow</code> must be     * @since 1.4
1493    * called in order to do that.     */
1494    *    public void updateRef(int columnIndex, Ref x) throws SQLException;
1495    * @param name The name of the column to update.  
1496    * @param value The new value of the column.    /**
1497    *     * @since 1.4
1498    * @exception SQLException If an error occurs.     */
1499    */    public void updateRef(String columnName, Ref x) throws SQLException;
1500  public abstract void  
1501  updateDouble(String name, double value) throws SQLException;    /**
1502       * @since 1.4
1503  /*************************************************************************/     */
1504      public void updateBlob(int columnIndex, Blob x) throws SQLException;
1505  /**  
1506    * This method updates the specified column to have a BigDecimal value.  This    /**
1507    * does not update the actual database.  <code>updateRow</code> must be     * @since 1.4
1508    * called in order to do that.     */
1509    *    public void updateBlob(String columnName, Blob x) throws SQLException;
1510    * @param name The name of the column to update.  
1511    * @param value The new value of the column.    /**
1512    *     * @since 1.4
1513    * @exception SQLException If an error occurs.     */
1514    */    public void updateClob(int columnIndex, Clob x) throws SQLException;
1515  public abstract void  
1516  updateBigDecimal(String name, BigDecimal value) throws SQLException;    /**
1517       * @since 1.4
1518  /*************************************************************************/     */
1519      public void updateClob(String columnName, Clob x) throws SQLException;
1520  /**  
1521    * This method updates the specified column to have a String value.  This    /**
1522    * does not update the actual database.  <code>updateRow</code> must be     * @since 1.4
1523    * called in order to do that.     */
1524    *    public void updateArray(int columnIndex, Array x) throws SQLException;
1525    * @param name The name of the column to update.  
1526    * @param value The new value of the column.    /**
1527    *     * @since 1.4
1528    * @exception SQLException If an error occurs.     */
1529    */    public void updateArray(String columnName, Array x) throws SQLException;
1530  public abstract void  }
 updateString(String name, String value) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method updates the specified column to have a byte array value.  This  
   * does not update the actual database.  <code>updateRow</code> must be  
   * called in order to do that.  
   *  
   * @param name The name of the column to update.  
   * @param value The new value of the column.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 updateBytes(String name, byte[] value) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method updates the specified column to have a java.sql.Date value.  This  
   * does not update the actual database.  <code>updateRow</code> must be  
   * called in order to do that.  
   *  
   * @param name The name of the column to update.  
   * @param value The new value of the column.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 updateDate(String name, java.sql.Date value) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method updates the specified column to have a java.sql.Time value.  This  
   * does not update the actual database.  <code>updateRow</code> must be  
   * called in order to do that.  
   *  
   * @param name The name of the column to update.  
   * @param value The new value of the column.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 updateTime(String name, java.sql.Time value) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method updates the specified column to have a java.sql.Timestamp value.    
   * This does not update the actual database.  <code>updateRow</code> must be  
   * called in order to do that.  
   *  
   * @param name The name of the column to update.  
   * @param value The new value of the column.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 updateTimestamp(String name, java.sql.Timestamp value) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method updates the specified column from an ASCII text stream.  
   * This does not update the actual database.  <code>updateRow</code> must be  
   * called in order to do that.  
   *  
   * @param name The name of the column to update.  
   * @param value The new value of the column.  
   * @param length The length of the stream.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 updateAsciiStream(String name, InputStream value, int length) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method updates the specified column from a binary stream.  
   * This does not update the actual database.  <code>updateRow</code> must be  
   * called in order to do that.  
   *  
   * @param name The name of the column to update.  
   * @param value The new value of the column.  
   * @param length The length of the stream.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 updateBinaryStream(String name, InputStream value, int length)  
                    throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method updates the specified column from a character stream.  
   * This does not update the actual database.  <code>updateRow</code> must be  
   * called in order to do that.  
   *  
   * @param name The name of the column to update.  
   * @param value The new value of the column.  
   * @param length The length of the stream.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 updateCharacterStream(String name, Reader value, int length) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method updates the specified column to have an Object value.    
   * This does not update the actual database.  <code>updateRow</code> must be  
   * called in order to do that.  
   *  
   * @param name The name of the column to update.  
   * @param value The new value of the column.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 updateObject(String name, Object value) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method updates the specified column to have an Object value.    
   * This does not update the actual database.  <code>updateRow</code> must be  
   * called in order to do that.  
   *  
   * @param name The name of the column to update.  
   * @param value The new value of the column.  
   * @param scale The scale of the object in question, which is used only  
   * for numeric type objects.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 updateObject(String name, Object value, int scale) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method inserts the current row into the database.  The result set  
   * must be positioned on the insert row in order to call this method  
   * successfully.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 insertRow() throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method updates the current row in the database.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 updateRow() throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method deletes the current row in the database.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 deleteRow() throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method refreshes the contents of the current row from the database.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 refreshRow() throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method cancels any changes that have been made to a row.  If  
   * the <code>rowUpdate</code> method has been called, then the changes  
   * cannot be undone.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 cancelRowUpdates() throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method positions the result set to the "insert row", which allows  
   * a new row to be inserted into the database from the result set.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 moveToInsertRow() throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method moves the result set position from the insert row back to  
   * the current row that was selected prior to moving to the insert row.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract void  
 moveToCurrentRow() throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns a the <code>Statement</code> that was used to  
   * produce this result set.  
   *  
   * @return The <code>Statement</code> used to produce this result set.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract Statement  
 getStatement() throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the value of the specified column as a Java  
   * <code>Object</code> using the specified SQL type to Java type map.  
   *  
   * @param index The index of the column to return.  
   * @param map The SQL type to Java type map to use.  
   *  
   * @return The value of the column as an <code>Object</code>.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract Object  
 getObject(int index, Map map) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns a <code>Ref</code> for the specified column which  
   * represents the structured type for the column.  
   *  
   * @param index  The index of the column to return.  
   *  
   * @return A <code>Ref</code> object for the column  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public Ref  
 getRef(int index) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as a BLOB.  
   *  
   * @param index The index of the column value to return.  
   *  
   * @return The value of the column as a BLOB.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract Blob  
 getBlob(int index) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as a CLOB.  
   *  
   * @param index The index of the column value to return.  
   *  
   * @return The value of the column as a CLOB.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract Clob  
 getClob(int index) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as an <code>Array</code>.  
   *  
   * @param index The index of the column value to return.  
   *  
   * @return The value of the column as an <code>Array</code>.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract Array  
 getArray(int index) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the value of the specified column as a Java  
   * <code>Object</code> using the specified SQL type to Java type map.  
   *  
   * @param name The name of the column to return.  
   * @param map The SQL type to Java type map to use.  
   *  
   * @return The value of the column as an <code>Object</code>.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract Object  
 getObject(String name, Map map) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns a <code>Ref</code> for the specified column which  
   * represents the structured type for the column.  
   *  
   * @param index  The index of the column to return.  
   *  
   * @return A <code>Ref</code> object for the column  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public Ref  
 getRef(String name) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as a BLOB.  
   *  
   * @param name The name of the column value to return.  
   *  
   * @return The value of the column as a BLOB.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract Blob  
 getBlob(String name) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as a CLOB.  
   *  
   * @param name The name of the column value to return.  
   *  
   * @return The value of the column as a CLOB.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract Clob  
 getClob(String name) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as an <code>Array</code>.  
   *  
   * @param name The name of the column value to return.  
   *  
   * @return The value of the column as an <code>Array</code>.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract Array  
 getArray(String name) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as a  
   * <code>java.sql.Date</code>.  The specified <code>Calendar</code> is used  
   * to generate a value for the date if the database does not support  
   * timezones.  
   *  
   * @param index The index of the column value to return.  
   * @param cal The <code>Calendar</code> to use for calculating timezones.  
   *  
   * @return The value of the column as a <code>java.sql.Date</code>.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract java.sql.Date  
 getDate(int index, Calendar cal) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as a  
   * <code>java.sql.Time</code>.  The specified <code>Calendar</code> is used  
   * to generate a value for the time if the database does not support  
   * timezones.  
   *  
   * @param index The index of the column value to return.  
   * @param cal The <code>Calendar</code> to use for calculating timezones.  
   *  
   * @return The value of the column as a <code>java.sql.Time</code>.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract java.sql.Time  
 getTime(int index, Calendar cal) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as a  
   * <code>java.sql.Timestamp</code>.  The specified <code>Calendar</code> is used  
   * to generate a value for the timestamp if the database does not support  
   * timezones.  
   *  
   * @param index The index of the column value to return.  
   * @param cal The <code>Calendar</code> to use for calculating timezones.  
   *  
   * @return The value of the column as a <code>java.sql.Timestamp</code>.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract java.sql.Timestamp  
 getTimestamp(int index, Calendar cal) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as a  
   * <code>java.sql.Date</code>.  The specified <code>Calendar</code> is used  
   * to generate a value for the date if the database does not support  
   * timezones.  
   *  
   * @param name The name of the column value to return.  
   * @param cal The <code>Calendar</code> to use for calculating timezones.  
   *  
   * @return The value of the column as a <code>java.sql.Date</code>.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract java.sql.Date  
 getDate(String name, Calendar cal) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as a  
   * <code>java.sql.Time</code>.  The specified <code>Calendar</code> is used  
   * to generate a value for the time if the database does not support  
   * timezones.  
   *  
   * @param name The name of the column value to return.  
   * @param cal The <code>Calendar</code> to use for calculating timezones.  
   *  
   * @return The value of the column as a <code>java.sql.Time</code>.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract java.sql.Time  
 getTime(String name, Calendar cal) throws SQLException;  
   
 /*************************************************************************/  
   
 /**  
   * This method returns the specified column value as a  
   * <code>java.sql.Timestamp</code>.  The specified <code>Calendar</code> is used  
   * to generate a value for the timestamp if the database does not support  
   * timezones.  
   *  
   * @param name The name of the column value to return.  
   * @param cal The <code>Calendar</code> to use for calculating timezones.  
   *  
   * @return The value of the column as a <code>java.sql.Timestamp</code>.  
   *  
   * @exception SQLException If an error occurs.  
   */  
 public abstract java.sql.Timestamp  
 getTimestamp(String name, Calendar cal) throws SQLException;  
   
 } // interface ResultSet  
   

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26