text: //
  //  Generated by the J2ObjC translator.  DO NOT EDIT!
  //  source: android/platform/libcore/ojluni/src/main/java/java/sql/ResultSet.java
  //
  
  #include "J2ObjC_header.h"
  
  #pragma push_macro("INCLUDE_ALL_JavaSqlResultSet")
  #ifdef RESTRICT_JavaSqlResultSet
  #define INCLUDE_ALL_JavaSqlResultSet 0
  #else
  #define INCLUDE_ALL_JavaSqlResultSet 1
  #endif
  #undef RESTRICT_JavaSqlResultSet
  
  #pragma clang diagnostic push
  #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
  
  #if __has_feature(nullability)
  #pragma clang diagnostic push
  #pragma GCC diagnostic ignored "-Wnullability"
  #pragma GCC diagnostic ignored "-Wnullability-completeness"
  #endif
  
  #if !defined (JavaSqlResultSet_) && (INCLUDE_ALL_JavaSqlResultSet || defined(INCLUDE_JavaSqlResultSet))
  #define JavaSqlResultSet_
  
  #define RESTRICT_JavaSqlWrapper 1
  #define INCLUDE_JavaSqlWrapper 1
  #include "java/sql/Wrapper.h"
  
  #define RESTRICT_JavaLangAutoCloseable 1
  #define INCLUDE_JavaLangAutoCloseable 1
  #include "java/lang/AutoCloseable.h"
  
  @class IOSByteArray;
  @class JavaIoInputStream;
  @class JavaIoReader;
  @class JavaMathBigDecimal;
  @class JavaNetURL;
  @class JavaSqlDate;
  @class JavaSqlSQLWarning;
  @class JavaSqlTime;
  @class JavaSqlTimestamp;
  @class JavaUtilCalendar;
  @protocol JavaSqlArray;
  @protocol JavaSqlBlob;
  @protocol JavaSqlClob;
  @protocol JavaSqlNClob;
  @protocol JavaSqlRef;
  @protocol JavaSqlResultSetMetaData;
  @protocol JavaSqlRowId;
  @protocol JavaSqlSQLXML;
  @protocol JavaSqlStatement;
  @protocol JavaUtilMap;
  
  /*!
   @brief A table of data representing a database result set, which
    is usually generated by executing a statement that queries the database.
   <P>A <code>ResultSet</code> object  maintains a cursor pointing
    to its current row of data.  Initially the cursor is positioned
    before the first row. The <code>next</code> method moves the
    cursor to the next row, and because it returns <code>false</code>
    when there are no more rows in the <code>ResultSet</code> object,
    it can be used in a <code>while</code> loop to iterate through
    the result set. 
   <P>
    A default <code>ResultSet</code> object is not updatable and
    has a cursor that moves forward only.  Thus, you can
    iterate through it only once and only from the first row to the
    last row. It is possible to
    produce <code>ResultSet</code> objects that are scrollable and/or
    updatable.  The following code fragment, in which <code>con</code>
    is a valid <code>Connection</code> object, illustrates how to make
    a result set that is scrollable and insensitive to updates by others, and
    that is updatable. See <code>ResultSet</code> fields for other
    options. 
   @code
  
          Statement stmt = con.createStatement(
                                         ResultSet.TYPE_SCROLL_INSENSITIVE,
                                         ResultSet.CONCUR_UPDATABLE);
          ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
          // rs will be scrollable, will not show changes made by others,
          // and will be updatable 
    
  @endcode
    The <code>ResultSet</code> interface provides 
   <i>getter</i> methods (<code>getBoolean</code>, <code>getLong</code>, and so on)
    for retrieving column values from the current row.
    Values can be retrieved using either the index number of the
    column or the name of the column.  In general, using the
    column index will be more efficient.  Columns are numbered from 1.
    For maximum portability, result set columns within each row should be
    read in left-to-right order, and each column should be read only once. 
   <P>For the getter methods, a JDBC driver attempts
    to convert the underlying data to the Java type specified in the
    getter method and returns a suitable Java value.  The JDBC specification
    has a table showing the allowable mappings from SQL types to Java types
    that can be used by the <code>ResultSet</code> getter methods. 
   <P>
    <P>Column names used as input to getter methods are case
    insensitive.  When a getter method is called  with
    a column name and several columns have the same name,
    the value of the first matching column will be returned.
    The column name option is
    designed to be used when column names are used in the SQL
    query that generated the result set.
    For columns that are NOT explicitly named in the query, it
    is best to use column numbers. If column names are used, the
    programmer should take care to guarantee that they uniquely refer to
    the intended columns, which can be assured with the SQL <i>AS</i> clause. 
   <P>
    A set of updater methods were added to this interface
    in the JDBC 2.0 API (Java<sup><font size=-2>TM</font></sup> 2 SDK,
    Standard Edition, version 1.2). The comments regarding parameters
    to the getter methods also apply to parameters to the
    updater methods.
   <P>
    The updater methods may be used in two ways: 
   <ol>
    <LI>to update a column value in the current row.  In a scrollable
        <code>ResultSet</code> object, the cursor can be moved backwards
        and forwards, to an absolute position, or to a position
        relative to the current row.
        The following code fragment updates the <code>NAME</code> column
        in the fifth row of the <code>ResultSet</code> object
        <code>rs</code> and then uses the method <code>updateRow</code>
        to update the data source table from which <code>rs</code> was derived. 
   @code
  
          rs.absolute(5); // moves the cursor to the fifth row of rs
          rs.updateString("NAME", "AINSWORTH"); // updates the
             // <code>NAME</code> column of row 5 to be <code>AINSWORTH</code>
          rs.updateRow(); // updates the row in the data source 
    
  @endcode
    <LI>to insert column values into the insert row.  An updatable
        <code>ResultSet</code> object has a special row associated with
        it that serves as a staging area for building a row to be inserted.
        The following code fragment moves the cursor to the insert row, builds
        a three-column row, and inserts it into <code>rs</code> and into
        the data source table using the method <code>insertRow</code>.
    @code
  
          rs.moveToInsertRow(); // moves cursor to the insert row
          rs.updateString(1, "AINSWORTH"); // updates the
             // first column of the insert row to be <code>AINSWORTH</code>
          rs.updateInt(2,35); // updates the second column to be <code>35</code>
          rs.updateBoolean(3, true); // updates the third column to <code>true</code>
          rs.insertRow();
          rs.moveToCurrentRow(); 
    
  @endcode
    </ol>
    <P>A <code>ResultSet</code> object is automatically closed when the 
   <code>Statement</code> object that
    generated it is closed, re-executed, or used
    to retrieve the next result from a sequence of multiple results. 
   <P>The number, types and properties of a <code>ResultSet</code>
    object's columns are provided by the <code>ResultSetMetaData</code>
    object returned by the <code>ResultSet.getMetaData</code> method.
   - seealso: Statement#executeQuery
   - seealso: Statement#getResultSet
   - seealso: ResultSetMetaData
   */
  @protocol JavaSqlResultSet < JavaSqlWrapper, JavaLangAutoCloseable, JavaObject >
  
  /*!
   @brief Moves the cursor froward one row from its current position.
   A <code>ResultSet</code> cursor is initially positioned
    before the first row; the first call to the method 
   <code>next</code> makes the first row the current row; the
    second call makes the second row the current row, and so on. 
   <p>
    When a call to the <code>next</code> method returns <code>false</code>,
    the cursor is positioned after the last row. Any
    invocation of a <code>ResultSet</code> method which requires a
    current row will result in a <code>SQLException</code> being thrown.
     If the result set type is <code>TYPE_FORWARD_ONLY</code>, it is vendor specified
    whether their JDBC driver implementation will return <code>false</code> or
     throw an <code>SQLException</code> on a
    subsequent call to <code>next</code>.
    
   <P>If an input stream is open for the current row, a call
    to the method <code>next</code> will
    implicitly close it. A <code>ResultSet</code> object's
    warning chain is cleared when a new row is read.
   @return <code>true</code> if the new current row is valid; 
   <code>false</code> if there are no more rows
   @throw SQLExceptionif a database access error occurs or this method is
               called on a closed result set
   */
  - (jboolean)next;
  
  /*!
   @brief Releases this <code>ResultSet</code> object's database and
    JDBC resources immediately instead of waiting for
    this to happen when it is automatically closed.
   <P>The closing of a <code>ResultSet</code> object does <strong>not</strong> close the <code>Blob</code>,
    <code>Clob</code> or <code>NClob</code> objects created by the <code>ResultSet</code>. <code>Blob</code>,
    <code>Clob</code> or <code>NClob</code> objects remain valid for at least the duration of the
    transaction in which they are creataed, unless their <code>free</code> method is invoked.
   <p>
    When a <code>ResultSet</code> is closed, any <code>ResultSetMetaData</code>
    instances that were created by calling the  <code>getMetaData</code>
    method remain accessible. 
   <P><B>Note:</B> A <code>ResultSet</code> object
    is automatically closed by the 
   <code>Statement</code> object that generated it when that 
   <code>Statement</code> object is closed,
    re-executed, or is used to retrieve the next result from a
    sequence of multiple results.
   <p>
    Calling the method <code>close</code> on a <code>ResultSet</code>
    object that is already closed is a no-op. 
   <P>
    <p>
   @throw SQLExceptionif a database access error occurs
   */
  - (void)close;
  
  /*!
   @brief Reports whether
    the last column read had a value of SQL <code>NULL</code>.
   Note that you must first call one of the getter methods
    on a column to try to read its value and then call
    the method <code>wasNull</code> to see if the value read was
    SQL <code>NULL</code>.
   @return <code>true</code> if the last column value read was SQL
            <code>NULL</code> and <code>false</code> otherwise
   @throw SQLExceptionif a database access error occurs or this method is
               called on a closed result set
   */
  - (jboolean)wasNull;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>String</code> in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (NSString *)getStringWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>boolean</code> in the Java programming language.
   <P>If the designated column has a datatype of CHAR or VARCHAR
    and contains a "0" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT
    and contains  a 0, a value of <code>false</code> is returned.  If the designated column has a datatype
    of CHAR or VARCHAR
    and contains a "1" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT
    and contains  a 1, a value of <code>true</code> is returned.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>false</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jboolean)getBooleanWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>byte</code> in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jbyte)getByteWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>short</code> in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jshort)getShortWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    an <code>int</code> in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jint)getIntWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>long</code> in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jlong)getLongWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>float</code> in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jfloat)getFloatWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>double</code> in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jdouble)getDoubleWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>java.sql.BigDecimal</code> in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @param scale_ the number of digits to the right of the decimal point
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   */
  - (JavaMathBigDecimal *)getBigDecimalWithInt:(jint)columnIndex
                                       withInt:(jint)scale_ __attribute__((deprecated));
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>byte</code> array in the Java programming language.
   The bytes represent the raw values returned by the driver.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (IOSByteArray *)getBytesWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>java.sql.Date</code> object in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaSqlDate *)getDateWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>java.sql.Time</code> object in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaSqlTime *)getTimeWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>java.sql.Timestamp</code> object in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaSqlTimestamp *)getTimestampWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a stream of ASCII characters.The value can then be read in chunks from the
    stream.
   This method is particularly
    suitable for retrieving large <code>LONGVARCHAR</code> values.
    The JDBC driver will
    do any necessary conversion from the database format into ASCII. 
   <P><B>Note:</B> All the data in the returned stream must be
    read prior to getting the value of any other column. The next
    call to a getter method implicitly closes the stream.  Also, a
    stream may return <code>0</code> when the method 
   <code>InputStream.available</code>
    is called whether there is data available or not.
   @param columnIndex the first column is 1, the second is 2, ...
   @return a Java input stream that delivers the database column value
    as a stream of one-byte ASCII characters;
    if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaIoInputStream *)getAsciiStreamWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    as a stream of two-byte 3 characters.The first byte is
    the high byte; the second byte is the low byte.
   The value can then be read in chunks from the
    stream. This method is particularly
    suitable for retrieving large <code>LONGVARCHAR</code>values.  The
    JDBC driver will do any necessary conversion from the database
    format into Unicode. 
   <P><B>Note:</B> All the data in the returned stream must be
    read prior to getting the value of any other column. The next
    call to a getter method implicitly closes the stream.
    Also, a stream may return <code>0</code> when the method 
   <code>InputStream.available</code>
    is called, whether there is data available or not.
   @param columnIndex the first column is 1, the second is 2, ...
   @return a Java input stream that delivers the database column value
            as a stream of two-byte Unicode characters;
            if the value is SQL <code>NULL</code>, the value returned is
            <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   */
  - (JavaIoInputStream *)getUnicodeStreamWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a  stream of
    uninterpreted bytes.The value can then be read in chunks from the
    stream.
   This method is particularly
    suitable for retrieving large <code>LONGVARBINARY</code> values. 
   <P><B>Note:</B> All the data in the returned stream must be
    read prior to getting the value of any other column. The next
    call to a getter method implicitly closes the stream.  Also, a
    stream may return <code>0</code> when the method 
   <code>InputStream.available</code>
    is called whether there is data available or not.
   @param columnIndex the first column is 1, the second is 2, ...
   @return a Java input stream that delivers the database column value
            as a stream of uninterpreted bytes;
            if the value is SQL <code>NULL</code>, the value returned is
            <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaIoInputStream *)getBinaryStreamWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>String</code> in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (NSString *)getStringWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>boolean</code> in the Java programming language.
   <P>If the designated column has a datatype of CHAR or VARCHAR
    and contains a "0" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT
    and contains  a 0, a value of <code>false</code> is returned.  If the designated column has a datatype
    of CHAR or VARCHAR
    and contains a "1" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT
    and contains  a 1, a value of <code>true</code> is returned.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>false</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jboolean)getBooleanWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>byte</code> in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jbyte)getByteWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>short</code> in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jshort)getShortWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    an <code>int</code> in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jint)getIntWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>long</code> in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jlong)getLongWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>float</code> in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jfloat)getFloatWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>double</code> in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>0</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (jdouble)getDoubleWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>java.math.BigDecimal</code> in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param scale_ the number of digits to the right of the decimal point
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   */
  - (JavaMathBigDecimal *)getBigDecimalWithNSString:(NSString *)columnLabel
                                            withInt:(jint)scale_ __attribute__((deprecated));
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>byte</code> array in the Java programming language.
   The bytes represent the raw values returned by the driver.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (IOSByteArray *)getBytesWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>java.sql.Date</code> object in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaSqlDate *)getDateWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>java.sql.Time</code> object in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value;
    if the value is SQL <code>NULL</code>,
    the value returned is <code>null</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaSqlTime *)getTimeWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>java.sql.Timestamp</code> object in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaSqlTimestamp *)getTimestampWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a stream of
    ASCII characters.The value can then be read in chunks from the
    stream.
   This method is particularly
    suitable for retrieving large <code>LONGVARCHAR</code> values.
    The JDBC driver will
    do any necessary conversion from the database format into ASCII. 
   <P><B>Note:</B> All the data in the returned stream must be
    read prior to getting the value of any other column. The next
    call to a getter method implicitly closes the stream. Also, a
    stream may return <code>0</code> when the method <code>available</code>
    is called whether there is data available or not.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a Java input stream that delivers the database column value
    as a stream of one-byte ASCII characters.
    If the value is SQL <code>NULL</code>,
    the value returned is <code>null</code>.
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaIoInputStream *)getAsciiStreamWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a stream of two-byte
    Unicode characters.The first byte is the high byte; the second
    byte is the low byte.
   The value can then be read in chunks from the
    stream. This method is particularly
    suitable for retrieving large <code>LONGVARCHAR</code> values.
    The JDBC technology-enabled driver will
    do any necessary conversion from the database format into Unicode. 
   <P><B>Note:</B> All the data in the returned stream must be
    read prior to getting the value of any other column. The next
    call to a getter method implicitly closes the stream.
    Also, a stream may return <code>0</code> when the method 
   <code>InputStream.available</code> is called, whether there
    is data available or not.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a Java input stream that delivers the database column value
            as a stream of two-byte Unicode characters.
            If the value is SQL <code>NULL</code>, the value returned
            is <code>null</code>.
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   */
  - (JavaIoInputStream *)getUnicodeStreamWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a stream of uninterpreted 
   <code>byte</code>s.
   The value can then be read in chunks from the
    stream. This method is particularly
    suitable for retrieving large <code>LONGVARBINARY</code>
    values. 
   <P><B>Note:</B> All the data in the returned stream must be
    read prior to getting the value of any other column. The next
    call to a getter method implicitly closes the stream. Also, a
    stream may return <code>0</code> when the method <code>available</code>
    is called whether there is data available or not.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a Java input stream that delivers the database column value
    as a stream of uninterpreted bytes;
    if the value is SQL <code>NULL</code>, the result is <code>null</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaIoInputStream *)getBinaryStreamWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the first warning reported by calls on this 
   <code>ResultSet</code> object.
   Subsequent warnings on this <code>ResultSet</code> object
    will be chained to the <code>SQLWarning</code> object that
    this method returns. 
   <P>The warning chain is automatically cleared each time a new
    row is read.  This method may not be called on a <code>ResultSet</code>
    object that has been closed; doing so will cause an 
   <code>SQLException</code> to be thrown. 
   <P>
    <B>Note:</B> This warning chain only covers warnings caused
    by <code>ResultSet</code> methods.  Any warning caused by 
   <code>Statement</code> methods
    (such as reading OUT parameters) will be chained on the 
   <code>Statement</code> object.
   @return the first <code>SQLWarning</code> object reported or
            <code>null</code> if there are none
   @throw SQLExceptionif a database access error occurs or this method is
               called on a closed result set
   */
  - (JavaSqlSQLWarning *)getWarnings;
  
  /*!
   @brief Clears all warnings reported on this <code>ResultSet</code> object.
   After this method is called, the method <code>getWarnings</code>
    returns <code>null</code> until a new warning is
    reported for this <code>ResultSet</code> object.
   @throw SQLExceptionif a database access error occurs or this method is
               called on a closed result set
   */
  - (void)clearWarnings;
  
  /*!
   @brief Retrieves the name of the SQL cursor used by this <code>ResultSet</code>
    object.
   <P>In SQL, a result table is retrieved through a cursor that is
    named. The current row of a result set can be updated or deleted
    using a positioned update/delete statement that references the
    cursor name. To insure that the cursor has the proper isolation
    level to support update, the cursor's <code>SELECT</code> statement
    should be of the form <code>SELECT FOR UPDATE</code>. If 
   <code>FOR UPDATE</code> is omitted, the positioned updates may fail. 
   <P>The JDBC API supports this SQL feature by providing the name of the
    SQL cursor used by a <code>ResultSet</code> object.
    The current row of a <code>ResultSet</code> object
    is also the current row of this SQL cursor.
   @return the SQL name for this <code>ResultSet</code> object's cursor
   @throw SQLExceptionif a database access error occurs or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   */
  - (NSString *)getCursorName;
  
  /*!
   @brief Retrieves the  number, types and properties of
    this <code>ResultSet</code> object's columns.
   @return the description of this <code>ResultSet</code> object's columns
   @throw SQLExceptionif a database access error occurs or this method is
               called on a closed result set
   */
  - (id<JavaSqlResultSetMetaData>)getMetaData;
  
  /*!
   @brief <p>Gets the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    an <code>Object</code> in the Java programming language.
   <p>This method will return the value of the given column as a
    Java object.  The type of the Java object will be the default
    Java object type corresponding to the column's SQL type,
    following the mapping for built-in types specified in the JDBC
    specification. If the value is an SQL <code>NULL</code>,
    the driver returns a Java <code>null</code>.
    
   <p>This method may also be used to read database-specific
    abstract data types.
    In the JDBC 2.0 API, the behavior of method 
   <code>getObject</code> is extended to materialize
    data of SQL user-defined types. 
   <p>
    If <code>Connection.getTypeMap</code> does not throw a 
   <code>SQLFeatureNotSupportedException</code>,
    then when a column contains a structured or distinct value,
    the behavior of this method is as
    if it were a call to: <code>getObject(columnIndex,
    this.getStatement().getConnection().getTypeMap())</code>.
    If <code>Connection.getTypeMap</code> does throw a 
   <code>SQLFeatureNotSupportedException</code>,
    then structured values are not supported, and distinct values
    are mapped to the default Java class as determined by the
    underlying SQL type of the DISTINCT type.
   @param columnIndex the first column is 1, the second is 2, ...
   @return a <code>java.lang.Object</code> holding the column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (id)getObjectWithInt:(jint)columnIndex;
  
  /*!
   @brief <p>Gets the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    an <code>Object</code> in the Java programming language.
   <p>This method will return the value of the given column as a
    Java object.  The type of the Java object will be the default
    Java object type corresponding to the column's SQL type,
    following the mapping for built-in types specified in the JDBC
    specification. If the value is an SQL <code>NULL</code>,
    the driver returns a Java <code>null</code>.
    <P>
    This method may also be used to read database-specific
    abstract data types. 
   <P>
    In the JDBC 2.0 API, the behavior of the method 
   <code>getObject</code> is extended to materialize
    data of SQL user-defined types.  When a column contains
    a structured or distinct value, the behavior of this method is as
    if it were a call to: <code>getObject(columnIndex,
    this.getStatement().getConnection().getTypeMap())</code>.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a <code>java.lang.Object</code> holding the column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   */
  - (id)getObjectWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Maps the given <code>ResultSet</code> column label to its 
   <code>ResultSet</code> column index.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column index of the given column name
   @throw SQLExceptionif the <code>ResultSet</code> object
    does not contain a column labeled <code>columnLabel</code>, a database access error occurs
     or this method is called on a closed result set
   */
  - (jint)findColumnWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a 
   <code>java.io.Reader</code> object.
   @return a <code>java.io.Reader</code> object that contains the column
    value; if the value is SQL <code>NULL</code>, the value returned is 
   <code>null</code> in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   @since 1.2
   */
  - (JavaIoReader *)getCharacterStreamWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a 
   <code>java.io.Reader</code> object.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a <code>java.io.Reader</code> object that contains the column
    value; if the value is SQL <code>NULL</code>, the value returned is 
   <code>null</code> in the Java programming language
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   @since 1.2
   */
  - (JavaIoReader *)getCharacterStreamWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a 
   <code>java.math.BigDecimal</code> with full precision.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value (full precision);
    if the value is SQL <code>NULL</code>, the value returned is 
   <code>null</code> in the Java programming language.
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   @since 1.2
   */
  - (JavaMathBigDecimal *)getBigDecimalWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a 
   <code>java.math.BigDecimal</code> with full precision.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value (full precision);
    if the value is SQL <code>NULL</code>, the value returned is 
   <code>null</code> in the Java programming language.
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs or this method is
               called on a closed result set
   @since 1.2
   */
  - (JavaMathBigDecimal *)getBigDecimalWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves whether the cursor is before the first row in
    this <code>ResultSet</code> object.
   <p>
    <strong>Note:</strong>Support for the <code>isBeforeFirst</code> method
    is optional for <code>ResultSet</code>s with a result
    set type of <code>TYPE_FORWARD_ONLY</code>
   @return <code>true</code> if the cursor is before the first row; 
   <code>false</code> if the cursor is at any other position or the
    result set contains no rows
   @throw SQLExceptionif a database access error occurs or this method is
               called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (jboolean)isBeforeFirst;
  
  /*!
   @brief Retrieves whether the cursor is after the last row in
    this <code>ResultSet</code> object.
   <p>
    <strong>Note:</strong>Support for the <code>isAfterLast</code> method
    is optional for <code>ResultSet</code>s with a result
    set type of <code>TYPE_FORWARD_ONLY</code>
   @return <code>true</code> if the cursor is after the last row; 
   <code>false</code> if the cursor is at any other position or the
    result set contains no rows
   @throw SQLExceptionif a database access error occurs or this method is
               called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (jboolean)isAfterLast;
  
  /*!
   @brief Retrieves whether the cursor is on the first row of
    this <code>ResultSet</code> object.
   <p>
    <strong>Note:</strong>Support for the <code>isFirst</code> method
    is optional for <code>ResultSet</code>s with a result
    set type of <code>TYPE_FORWARD_ONLY</code>
   @return <code>true</code> if the cursor is on the first row; 
   <code>false</code> otherwise
   @throw SQLExceptionif a database access error occurs or this method is
               called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (jboolean)isFirst;
  
  /*!
   @brief Retrieves whether the cursor is on the last row of
    this <code>ResultSet</code> object.
   <strong>Note:</strong> Calling the method <code>isLast</code> may be expensive
    because the JDBC driver
    might need to fetch ahead one row in order to determine
    whether the current row is the last row in the result set. 
   <p>
    <strong>Note:</strong> Support for the <code>isLast</code> method
    is optional for <code>ResultSet</code>s with a result
    set type of <code>TYPE_FORWARD_ONLY</code>
   @return <code>true</code> if the cursor is on the last row; 
   <code>false</code> otherwise
   @throw SQLExceptionif a database access error occurs or this method is
               called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (jboolean)isLast;
  
  /*!
   @brief Moves the cursor to the front of
    this <code>ResultSet</code> object, just before the
    first row.This method has no effect if the result set contains no rows.
   @throw SQLExceptionif a database access error
    occurs; this method is called on a closed result set or the
    result set type is <code>TYPE_FORWARD_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)beforeFirst;
  
  /*!
   @brief Moves the cursor to the end of
    this <code>ResultSet</code> object, just after the
    last row.This method has no effect if the result set contains no rows.
   @throw SQLExceptionif a database access error
    occurs; this method is called on a closed result set
    or the result set type is <code>TYPE_FORWARD_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)afterLast;
  
  /*!
   @brief Moves the cursor to the first row in
    this <code>ResultSet</code> object.
   @return <code>true</code> if the cursor is on a valid row; 
   <code>false</code> if there are no rows in the result set
   @throw SQLExceptionif a database access error
    occurs; this method is called on a closed result set
    or the result set type is <code>TYPE_FORWARD_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (jboolean)first;
  
  /*!
   @brief Moves the cursor to the last row in
    this <code>ResultSet</code> object.
   @return <code>true</code> if the cursor is on a valid row; 
   <code>false</code> if there are no rows in the result set
   @throw SQLExceptionif a database access error
    occurs; this method is called on a closed result set
    or the result set type is <code>TYPE_FORWARD_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (jboolean)last;
  
  /*!
   @brief Retrieves the current row number.The first row is number 1, the
    second number 2, and so on.
   <p>
    <strong>Note:</strong>Support for the <code>getRow</code> method
    is optional for <code>ResultSet</code>s with a result
    set type of <code>TYPE_FORWARD_ONLY</code>
   @return the current row number; <code>0</code> if there is no current row
   @throw SQLExceptionif a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (jint)getRow;
  
  /*!
   @brief Moves the cursor to the given row number in
    this <code>ResultSet</code> object.
   <p>If the row number is positive, the cursor moves to
    the given row number with respect to the
    beginning of the result set.  The first row is row 1, the second
    is row 2, and so on. 
   <p>If the given row number is negative, the cursor moves to
    an absolute row position with respect to
    the end of the result set.  For example, calling the method 
   <code>absolute(-1)</code> positions the
    cursor on the last row; calling the method <code>absolute(-2)</code>
    moves the cursor to the next-to-last row, and so on. 
   <p>If the row number specified is zero, the cursor is moved to
    before the first row. 
   <p>An attempt to position the cursor beyond the first/last row in
    the result set leaves the cursor before the first row or after
    the last row. 
   <p><B>Note:</B> Calling <code>absolute(1)</code> is the same
    as calling <code>first()</code>. Calling <code>absolute(-1)</code>
    is the same as calling <code>last()</code>.
   @param row the number of the row to which the cursor should move.         A value of zero indicates that the cursor will be positioned
            before the first row; a positive number indicates the row number
            counting from the beginning of the result set; a negative number
            indicates the row number counting from the end of the result set
   @return <code>true</code> if the cursor is moved to a position in this 
   <code>ResultSet</code> object; 
   <code>false</code> if the cursor is before the first row or after the
    last row
   @throw SQLExceptionif a database access error
    occurs; this method is called on a closed result set
    or the result set type is <code>TYPE_FORWARD_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (jboolean)absoluteWithInt:(jint)row;
  
  /*!
   @brief Moves the cursor a relative number of rows, either positive or negative.
   Attempting to move beyond the first/last row in the
    result set positions the cursor before/after the
    the first/last row. Calling <code>relative(0)</code> is valid, but does
    not change the cursor position. 
   <p>Note: Calling the method <code>relative(1)</code>
    is identical to calling the method <code>next()</code> and
    calling the method <code>relative(-1)</code> is identical
    to calling the method <code>previous()</code>.
   @param rows an  <code> int </code>  specifying the number of rows to
            move from the current row; a positive number moves the cursor         forward; a negative number moves the cursor backward
   @return <code>true</code> if the cursor is on a row;
            <code>false</code> otherwise
   @throw SQLExceptionif a database access error occurs;  this method
    is called on a closed result set or the result set type is
               <code>TYPE_FORWARD_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (jboolean)relativeWithInt:(jint)rows;
  
  /*!
   @brief Moves the cursor to the previous row in this 
   <code>ResultSet</code> object.
   <p>
    When a call to the <code>previous</code> method returns <code>false</code>,
    the cursor is positioned before the first row.  Any invocation of a 
   <code>ResultSet</code> method which requires a current row will result in a 
   <code>SQLException</code> being thrown.
   <p>
    If an input stream is open for the current row, a call to the method 
   <code>previous</code> will implicitly close it.  A <code>ResultSet</code>
     object's warning change is cleared when a new row is read.
   <p>
   @return <code>true</code> if the cursor is now positioned on a valid row; 
   <code>false</code> if the cursor is positioned before the first row
   @throw SQLExceptionif a database access error
    occurs; this method is called on a closed result set
    or the result set type is <code>TYPE_FORWARD_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (jboolean)previous;
  
  /*!
   @brief Gives a hint as to the direction in which the rows in this 
   <code>ResultSet</code> object will be processed.
   The initial value is determined by the 
   <code>Statement</code> object
    that produced this <code>ResultSet</code> object.
    The fetch direction may be changed at any time.
   @param direction an  <code> int </code>  specifying the suggested
            fetch direction; one of  <code> ResultSet.FETCH_FORWARD </code> ,
             <code> ResultSet.FETCH_REVERSE </code> , or         
    <code> ResultSet.FETCH_UNKNOWN </code>
   @throw SQLExceptionif a database access error occurs; this
    method is called on a closed result set or
    the result set type is <code>TYPE_FORWARD_ONLY</code> and the fetch
    direction is not <code>FETCH_FORWARD</code>
   @since 1.2
   - seealso: Statement#setFetchDirection
   - seealso: #getFetchDirection
   */
  - (void)setFetchDirectionWithInt:(jint)direction;
  
  /*!
   @brief Retrieves the fetch direction for this 
   <code>ResultSet</code> object.
   @return the current fetch direction for this <code>ResultSet</code> object
   @throw SQLExceptionif a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   - seealso: #setFetchDirection
   */
  - (jint)getFetchDirection;
  
  /*!
   @brief Gives the JDBC driver a hint as to the number of rows that should
    be fetched from the database when more rows are needed for this 
   <code>ResultSet</code> object.
   If the fetch size specified is zero, the JDBC driver
    ignores the value and is free to make its own best guess as to what
    the fetch size should be.  The default value is set by the 
   <code>Statement</code> object
    that created the result set.  The fetch size may be changed at any time.
   @param rows the number of rows to fetch
   @throw SQLExceptionif a database access error occurs; this method
    is called on a closed result set or the
    condition <code>rows >= 0 </code> is not satisfied
   @since 1.2
   - seealso: #getFetchSize
   */
  - (void)setFetchSizeWithInt:(jint)rows;
  
  /*!
   @brief Retrieves the fetch size for this 
   <code>ResultSet</code> object.
   @return the current fetch size for this <code>ResultSet</code> object
   @throw SQLExceptionif a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   - seealso: #setFetchSize
   */
  - (jint)getFetchSize;
  
  /*!
   @brief Retrieves the type of this <code>ResultSet</code> object.
   The type is determined by the <code>Statement</code> object
    that created the result set.
   @return <code>ResultSet.TYPE_FORWARD_ONLY</code>,
            <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>,
            or <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
   @throw SQLExceptionif a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   */
  - (jint)getType;
  
  /*!
   @brief Retrieves the concurrency mode of this <code>ResultSet</code> object.
   The concurrency used is determined by the 
   <code>Statement</code> object that created the result set.
   @return the concurrency type, either
            <code>ResultSet.CONCUR_READ_ONLY</code>
            or <code>ResultSet.CONCUR_UPDATABLE</code>
   @throw SQLExceptionif a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   */
  - (jint)getConcurrency;
  
  /*!
   @brief Retrieves whether the current row has been updated.The value returned
    depends on whether or not the result set can detect updates.
   <p>
    <strong>Note:</strong> Support for the <code>rowUpdated</code> method is optional with a result set
    concurrency of <code>CONCUR_READ_ONLY</code>
   @return <code>true</code> if the current row is detected to
    have been visibly updated by the owner or another; <code>false</code> otherwise
   @throw SQLExceptionif a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   - seealso: DatabaseMetaData#updatesAreDetected
   @since 1.2
   */
  - (jboolean)rowUpdated;
  
  /*!
   @brief Retrieves whether the current row has had an insertion.
   The value returned depends on whether or not this 
   <code>ResultSet</code> object can detect visible inserts. 
   <p>
    <strong>Note:</strong> Support for the <code>rowInserted</code> method is optional with a result set
    concurrency of <code>CONCUR_READ_ONLY</code>
   @return <code>true</code> if the current row is detected to
    have been inserted; <code>false</code> otherwise
   @throw SQLExceptionif a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   - seealso: DatabaseMetaData#insertsAreDetected
   @since 1.2
   */
  - (jboolean)rowInserted;
  
  /*!
   @brief Retrieves whether a row has been deleted.A deleted row may leave
    a visible "hole" in a result set.
   This method can be used to
    detect holes in a result set.  The value returned depends on whether
    or not this <code>ResultSet</code> object can detect deletions. 
   <p>
    <strong>Note:</strong> Support for the <code>rowDeleted</code> method is optional with a result set
    concurrency of <code>CONCUR_READ_ONLY</code>
   @return <code>true</code> if the current row is detected to
    have been deleted by the owner or another; <code>false</code> otherwise
   @throw SQLExceptionif a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   - seealso: DatabaseMetaData#deletesAreDetected
   @since 1.2
   */
  - (jboolean)rowDeleted;
  
  /*!
   @brief Updates the designated column with a <code>null</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code>
    or <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateNullWithInt:(jint)columnIndex;
  
  /*!
   @brief Updates the designated column with a <code>boolean</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateBooleanWithInt:(jint)columnIndex
                   withBoolean:(jboolean)x;
  
  /*!
   @brief Updates the designated column with a <code>byte</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateByteWithInt:(jint)columnIndex
                   withByte:(jbyte)x;
  
  /*!
   @brief Updates the designated column with a <code>short</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateShortWithInt:(jint)columnIndex
                   withShort:(jshort)x;
  
  /*!
   @brief Updates the designated column with an <code>int</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateIntWithInt:(jint)columnIndex
                   withInt:(jint)x;
  
  /*!
   @brief Updates the designated column with a <code>long</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateLongWithInt:(jint)columnIndex
                   withLong:(jlong)x;
  
  /*!
   @brief Updates the designated column with a <code>float</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateFloatWithInt:(jint)columnIndex
                   withFloat:(jfloat)x;
  
  /*!
   @brief Updates the designated column with a <code>double</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateDoubleWithInt:(jint)columnIndex
                   withDouble:(jdouble)x;
  
  /*!
   @brief Updates the designated column with a <code>java.math.BigDecimal</code>
    value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateBigDecimalWithInt:(jint)columnIndex
           withJavaMathBigDecimal:(JavaMathBigDecimal *)x;
  
  /*!
   @brief Updates the designated column with a <code>String</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateStringWithInt:(jint)columnIndex
                 withNSString:(NSString *)x;
  
  /*!
   @brief Updates the designated column with a <code>byte</code> array value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateBytesWithInt:(jint)columnIndex
               withByteArray:(IOSByteArray *)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Date</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateDateWithInt:(jint)columnIndex
            withJavaSqlDate:(JavaSqlDate *)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Time</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateTimeWithInt:(jint)columnIndex
            withJavaSqlTime:(JavaSqlTime *)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Timestamp</code>
    value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateTimestampWithInt:(jint)columnIndex
            withJavaSqlTimestamp:(JavaSqlTimestamp *)x;
  
  /*!
   @brief Updates the designated column with an ascii stream value, which will have
    the specified number of bytes.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateAsciiStreamWithInt:(jint)columnIndex
             withJavaIoInputStream:(JavaIoInputStream *)x
                           withInt:(jint)length;
  
  /*!
   @brief Updates the designated column with a binary stream value, which will have
    the specified number of bytes.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateBinaryStreamWithInt:(jint)columnIndex
              withJavaIoInputStream:(JavaIoInputStream *)x
                            withInt:(jint)length;
  
  /*!
   @brief Updates the designated column with a character stream value, which will have
    the specified number of bytes.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateCharacterStreamWithInt:(jint)columnIndex
                      withJavaIoReader:(JavaIoReader *)x
                               withInt:(jint)length;
  
  /*!
   @brief Updates the designated column with an <code>Object</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   <p>
    If the second argument is an <code>InputStream</code> then the stream must contain
    the number of bytes specified by scaleOrLength.  If the second argument is a 
   <code>Reader</code> then the reader must contain the number of characters specified
    by scaleOrLength. If these conditions are not true the driver will generate a 
   <code>SQLException</code> when the statement is executed.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @param scaleOrLength for an object of  <code> java.math.BigDecimal </code>
     ,           this is the number of digits after the decimal point. For           Java Object types 
    <code> InputStream </code>  and  <code> Reader </code> ,           this is the length
              of the data in the stream or reader.  For all other types,
              this value will be ignored.
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateObjectWithInt:(jint)columnIndex
                       withId:(id)x
                      withInt:(jint)scaleOrLength;
  
  /*!
   @brief Updates the designated column with an <code>Object</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateObjectWithInt:(jint)columnIndex
                       withId:(id)x;
  
  /*!
   @brief Updates the designated column with a <code>null</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateNullWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Updates the designated column with a <code>boolean</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateBooleanWithNSString:(NSString *)columnLabel
                        withBoolean:(jboolean)x;
  
  /*!
   @brief Updates the designated column with a <code>byte</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateByteWithNSString:(NSString *)columnLabel
                        withByte:(jbyte)x;
  
  /*!
   @brief Updates the designated column with a <code>short</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateShortWithNSString:(NSString *)columnLabel
                        withShort:(jshort)x;
  
  /*!
   @brief Updates the designated column with an <code>int</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateIntWithNSString:(NSString *)columnLabel
                        withInt:(jint)x;
  
  /*!
   @brief Updates the designated column with a <code>long</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateLongWithNSString:(NSString *)columnLabel
                        withLong:(jlong)x;
  
  /*!
   @brief Updates the designated column with a <code>float </code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateFloatWithNSString:(NSString *)columnLabel
                        withFloat:(jfloat)x;
  
  /*!
   @brief Updates the designated column with a <code>double</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateDoubleWithNSString:(NSString *)columnLabel
                        withDouble:(jdouble)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.BigDecimal</code>
    value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateBigDecimalWithNSString:(NSString *)columnLabel
                withJavaMathBigDecimal:(JavaMathBigDecimal *)x;
  
  /*!
   @brief Updates the designated column with a <code>String</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateStringWithNSString:(NSString *)columnLabel
                      withNSString:(NSString *)x;
  
  /*!
   @brief Updates the designated column with a byte array value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code>
    or <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateBytesWithNSString:(NSString *)columnLabel
                    withByteArray:(IOSByteArray *)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Date</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateDateWithNSString:(NSString *)columnLabel
                 withJavaSqlDate:(JavaSqlDate *)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Time</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateTimeWithNSString:(NSString *)columnLabel
                 withJavaSqlTime:(JavaSqlTime *)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Timestamp</code>
    value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateTimestampWithNSString:(NSString *)columnLabel
                 withJavaSqlTimestamp:(JavaSqlTimestamp *)x;
  
  /*!
   @brief Updates the designated column with an ascii stream value, which will have
    the specified number of bytes.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateAsciiStreamWithNSString:(NSString *)columnLabel
                  withJavaIoInputStream:(JavaIoInputStream *)x
                                withInt:(jint)length;
  
  /*!
   @brief Updates the designated column with a binary stream value, which will have
    the specified number of bytes.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateBinaryStreamWithNSString:(NSString *)columnLabel
                   withJavaIoInputStream:(JavaIoInputStream *)x
                                 withInt:(jint)length;
  
  /*!
   @brief Updates the designated column with a character stream value, which will have
    the specified number of bytes.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param reader the  <code> java.io.Reader </code>  object containing
            the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateCharacterStreamWithNSString:(NSString *)columnLabel
                           withJavaIoReader:(JavaIoReader *)reader
                                    withInt:(jint)length;
  
  /*!
   @brief Updates the designated column with an <code>Object</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   <p>
    If the second argument is an <code>InputStream</code> then the stream must contain
    the number of bytes specified by scaleOrLength.  If the second argument is a 
   <code>Reader</code> then the reader must contain the number of characters specified
    by scaleOrLength. If these conditions are not true the driver will generate a 
   <code>SQLException</code> when the statement is executed.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @param scaleOrLength for an object of  <code> java.math.BigDecimal </code>
     ,           this is the number of digits after the decimal point. For           Java Object types 
    <code> InputStream </code>  and  <code> Reader </code> ,           this is the length
              of the data in the stream or reader.  For all other types,
              this value will be ignored.
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateObjectWithNSString:(NSString *)columnLabel
                            withId:(id)x
                           withInt:(jint)scaleOrLength;
  
  /*!
   @brief Updates the designated column with an <code>Object</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateObjectWithNSString:(NSString *)columnLabel
                            withId:(id)x;
  
  /*!
   @brief Inserts the contents of the insert row into this 
   <code>ResultSet</code> object and into the database.
   The cursor must be on the insert row when this method is called.
   @throw SQLExceptionif a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>,
    this method is called on a closed result set,
    if this method is called when the cursor is not on the insert row,
    or if not all of non-nullable columns in
    the insert row have been given a non-null value
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)insertRow;
  
  /*!
   @brief Updates the underlying database with the new contents of the
    current row of this <code>ResultSet</code> object.
   This method cannot be called when the cursor is on the insert row.
   @throw SQLExceptionif a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>;
     this method is called on a closed result set or
    if this method is called when the cursor is on the insert row
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)updateRow;
  
  /*!
   @brief Deletes the current row from this <code>ResultSet</code> object
    and from the underlying database.This method cannot be called when
    the cursor is on the insert row.
   @throw SQLExceptionif a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>;
    this method is called on a closed result set
    or if this method is called when the cursor is on the insert row
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)deleteRow;
  
  /*!
   @brief Refreshes the current row with its most recent value in
    the database.This method cannot be called when
    the cursor is on the insert row.
   <P>The <code>refreshRow</code> method provides a way for an
    application to
    explicitly tell the JDBC driver to refetch a row(s) from the
    database.  An application may want to call <code>refreshRow</code> when
    caching or prefetching is being done by the JDBC driver to
    fetch the latest value of a row from the database.  The JDBC driver
    may actually refresh multiple rows at once if the fetch size is
    greater than one. 
   <P> All values are refetched subject to the transaction isolation
    level and cursor sensitivity.  If <code>refreshRow</code> is called after
    calling an updater method, but before calling
    the method <code>updateRow</code>, then the
    updates made to the row are lost.  Calling the method 
   <code>refreshRow</code> frequently will likely slow performance.
   @throw SQLExceptionif a database access error
    occurs; this method is called on a closed result set;
    the result set type is <code>TYPE_FORWARD_ONLY</code> or if this
    method is called when the cursor is on the insert row
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method or this method is not supported for the specified result
    set type and result set concurrency.
   @since 1.2
   */
  - (void)refreshRow;
  
  /*!
   @brief Cancels the updates made to the current row in this 
   <code>ResultSet</code> object.
   This method may be called after calling an
    updater method(s) and before calling
    the method <code>updateRow</code> to roll back
    the updates made to a row.  If no updates have been made or 
   <code>updateRow</code> has already been called, this method has no
    effect.
   @throw SQLExceptionif a database access error
               occurs; this method is called on a closed result set;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or if this method is called when the cursor is
               on the insert row
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)cancelRowUpdates;
  
  /*!
   @brief Moves the cursor to the insert row.The current cursor position is
    remembered while the cursor is positioned on the insert row.
   The insert row is a special row associated with an updatable
    result set.  It is essentially a buffer where a new row may
    be constructed by calling the updater methods prior to
    inserting the row into the result set.
    Only the updater, getter,
    and <code>insertRow</code> methods may be
    called when the cursor is on the insert row.  All of the columns in
    a result set must be given a value each time this method is
    called before calling <code>insertRow</code>.
    An updater method must be called before a
    getter method can be called on a column value.
   @throw SQLExceptionif a database access error occurs; this
    method is called on a closed result set
    or the result set concurrency is <code>CONCUR_READ_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)moveToInsertRow;
  
  /*!
   @brief Moves the cursor to the remembered cursor position, usually the
    current row.This method has no effect if the cursor is not on
    the insert row.
   @throw SQLExceptionif a database access error occurs; this
    method is called on a closed result set
     or the result set concurrency is <code>CONCUR_READ_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (void)moveToCurrentRow;
  
  /*!
   @brief Retrieves the <code>Statement</code> object that produced this 
   <code>ResultSet</code> object.
   If the result set was generated some other way, such as by a 
   <code>DatabaseMetaData</code> method, this method  may return 
   <code>null</code>.
   @return the <code>Statment</code> object that produced
    this <code>ResultSet</code> object or <code>null</code>
    if the result set was produced some other way
   @throw SQLExceptionif a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   */
  - (id<JavaSqlStatement>)getStatement;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as an <code>Object</code>
    in the Java programming language.
   If the value is an SQL <code>NULL</code>,
    the driver returns a Java <code>null</code>.
    This method uses the given <code>Map</code> object
    for the custom mapping of the
    SQL structured or distinct type that is being retrieved.
   @param columnIndex the first column is 1, the second is 2, ...
   @param map a  <code> java.util.Map </code>  object that contains the mapping
     from SQL type names to classes in the Java programming language
   @return an <code>Object</code> in the Java programming language
    representing the SQL value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (id)getObjectWithInt:(jint)columnIndex
         withJavaUtilMap:(id<JavaUtilMap>)map;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>Ref</code> object
    in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return a <code>Ref</code> object representing an SQL <code>REF</code>
            value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (id<JavaSqlRef>)getRefWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>Blob</code> object
    in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return a <code>Blob</code> object representing the SQL
            <code>BLOB</code> value in the specified column
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (id<JavaSqlBlob>)getBlobWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>Clob</code> object
    in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return a <code>Clob</code> object representing the SQL
            <code>CLOB</code> value in the specified column
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (id<JavaSqlClob>)getClobWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as an <code>Array</code> object
    in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return an <code>Array</code> object representing the SQL
            <code>ARRAY</code> value in the specified column
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (id<JavaSqlArray>)getArrayWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as an <code>Object</code>
    in the Java programming language.
   If the value is an SQL <code>NULL</code>,
    the driver returns a Java <code>null</code>.
    This method uses the specified <code>Map</code> object for
    custom mapping if appropriate.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param map a  <code> java.util.Map </code>  object that contains the mapping
     from SQL type names to classes in the Java programming language
   @return an <code>Object</code> representing the SQL value in the
            specified column
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (id)getObjectWithNSString:(NSString *)columnLabel
              withJavaUtilMap:(id<JavaUtilMap>)map;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>Ref</code> object
    in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a <code>Ref</code> object representing the SQL <code>REF</code>
            value in the specified column
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (id<JavaSqlRef>)getRefWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>Blob</code> object
    in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a <code>Blob</code> object representing the SQL <code>BLOB</code>
            value in the specified column
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (id<JavaSqlBlob>)getBlobWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>Clob</code> object
    in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a <code>Clob</code> object representing the SQL <code>CLOB</code>
    value in the specified column
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (id<JavaSqlClob>)getClobWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as an <code>Array</code> object
    in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return an <code>Array</code> object representing the SQL <code>ARRAY</code> value in
            the specified column
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.2
   */
  - (id<JavaSqlArray>)getArrayWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>java.sql.Date</code> object
    in the Java programming language.
   This method uses the given calendar to construct an appropriate millisecond
    value for the date if the underlying database does not store
    timezone information.
   @param columnIndex the first column is 1, the second is 2, ...
   @param cal the  <code> java.util.Calendar </code>  object
     to use in constructing the date
   @return the column value as a <code>java.sql.Date</code> object;
    if the value is SQL <code>NULL</code>,
    the value returned is <code>null</code> in the Java programming language
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   */
  - (JavaSqlDate *)getDateWithInt:(jint)columnIndex
             withJavaUtilCalendar:(JavaUtilCalendar *)cal;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>java.sql.Date</code> object
    in the Java programming language.
   This method uses the given calendar to construct an appropriate millisecond
    value for the date if the underlying database does not store
    timezone information.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param cal the  <code> java.util.Calendar </code>  object
     to use in constructing the date
   @return the column value as a <code>java.sql.Date</code> object;
    if the value is SQL <code>NULL</code>,
    the value returned is <code>null</code> in the Java programming language
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   */
  - (JavaSqlDate *)getDateWithNSString:(NSString *)columnLabel
                  withJavaUtilCalendar:(JavaUtilCalendar *)cal;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>java.sql.Time</code> object
    in the Java programming language.
   This method uses the given calendar to construct an appropriate millisecond
    value for the time if the underlying database does not store
    timezone information.
   @param columnIndex the first column is 1, the second is 2, ...
   @param cal the  <code> java.util.Calendar </code>  object
     to use in constructing the time
   @return the column value as a <code>java.sql.Time</code> object;
    if the value is SQL <code>NULL</code>,
    the value returned is <code>null</code> in the Java programming language
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   */
  - (JavaSqlTime *)getTimeWithInt:(jint)columnIndex
             withJavaUtilCalendar:(JavaUtilCalendar *)cal;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>java.sql.Time</code> object
    in the Java programming language.
   This method uses the given calendar to construct an appropriate millisecond
    value for the time if the underlying database does not store
    timezone information.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param cal the  <code> java.util.Calendar </code>  object
     to use in constructing the time
   @return the column value as a <code>java.sql.Time</code> object;
    if the value is SQL <code>NULL</code>,
    the value returned is <code>null</code> in the Java programming language
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   */
  - (JavaSqlTime *)getTimeWithNSString:(NSString *)columnLabel
                  withJavaUtilCalendar:(JavaUtilCalendar *)cal;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>java.sql.Timestamp</code> object
    in the Java programming language.
   This method uses the given calendar to construct an appropriate millisecond
    value for the timestamp if the underlying database does not store
    timezone information.
   @param columnIndex the first column is 1, the second is 2, ...
   @param cal the  <code> java.util.Calendar </code>  object
     to use in constructing the timestamp
   @return the column value as a <code>java.sql.Timestamp</code> object;
    if the value is SQL <code>NULL</code>,
    the value returned is <code>null</code> in the Java programming language
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   */
  - (JavaSqlTimestamp *)getTimestampWithInt:(jint)columnIndex
                       withJavaUtilCalendar:(JavaUtilCalendar *)cal;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>java.sql.Timestamp</code> object
    in the Java programming language.
   This method uses the given calendar to construct an appropriate millisecond
    value for the timestamp if the underlying database does not store
    timezone information.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param cal the  <code> java.util.Calendar </code>  object
     to use in constructing the date
   @return the column value as a <code>java.sql.Timestamp</code> object;
    if the value is SQL <code>NULL</code>,
    the value returned is <code>null</code> in the Java programming language
   @throw SQLExceptionif the columnLabel is not valid or
    if a database access error occurs
    or this method is called on a closed result set
   @since 1.2
   */
  - (JavaSqlTimestamp *)getTimestampWithNSString:(NSString *)columnLabel
                            withJavaUtilCalendar:(JavaUtilCalendar *)cal;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>java.net.URL</code>
    object in the Java programming language.
   @param columnIndex the index of the column 1 is the first, 2 is the second,...
   @return the column value as a <code>java.net.URL</code> object;
    if the value is SQL <code>NULL</code>,
    the value returned is <code>null</code> in the Java programming language
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs; this method
    is called on a closed result set or if a URL is malformed
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.4
   */
  - (JavaNetURL *)getURLWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>java.net.URL</code>
    object in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value as a <code>java.net.URL</code> object;
    if the value is SQL <code>NULL</code>,
    the value returned is <code>null</code> in the Java programming language
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs; this method
    is called on a closed result set or if a URL is malformed
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.4
   */
  - (JavaNetURL *)getURLWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Ref</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.4
   */
  - (void)updateRefWithInt:(jint)columnIndex
            withJavaSqlRef:(id<JavaSqlRef>)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Ref</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.4
   */
  - (void)updateRefWithNSString:(NSString *)columnLabel
                 withJavaSqlRef:(id<JavaSqlRef>)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Blob</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.4
   */
  - (void)updateBlobWithInt:(jint)columnIndex
            withJavaSqlBlob:(id<JavaSqlBlob>)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Blob</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.4
   */
  - (void)updateBlobWithNSString:(NSString *)columnLabel
                 withJavaSqlBlob:(id<JavaSqlBlob>)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Clob</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.4
   */
  - (void)updateClobWithInt:(jint)columnIndex
            withJavaSqlClob:(id<JavaSqlClob>)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Clob</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.4
   */
  - (void)updateClobWithNSString:(NSString *)columnLabel
                 withJavaSqlClob:(id<JavaSqlClob>)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Array</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.4
   */
  - (void)updateArrayWithInt:(jint)columnIndex
            withJavaSqlArray:(id<JavaSqlArray>)x;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.Array</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.4
   */
  - (void)updateArrayWithNSString:(NSString *)columnLabel
                 withJavaSqlArray:(id<JavaSqlArray>)x;
  
  /*!
   @brief Retrieves the value of the designated column in the current row of this 
   <code>ResultSet</code> object as a <code>java.sql.RowId</code> object in the Java
    programming language.
   @param columnIndex the first column is 1, the second 2, ...
   @return the column value; if the value is a SQL <code>NULL</code> the
        value returned is <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (id<JavaSqlRowId>)getRowIdWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row of this 
   <code>ResultSet</code> object as a <code>java.sql.RowId</code> object in the Java
    programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value ; if the value is a SQL <code>NULL</code> the
        value returned is <code>null</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (id<JavaSqlRowId>)getRowIdWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Updates the designated column with a <code>RowId</code> value.The updater
    methods are used to update column values in the current row or the insert
    row.
   The updater methods do not update the underlying database; instead the 
   <code>updateRow</code> or <code>insertRow</code> methods are called
    to update the database.
   @param columnIndex the first column is 1, the second 2, ...
   @param x the column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateRowIdWithInt:(jint)columnIndex
            withJavaSqlRowId:(id<JavaSqlRowId>)x;
  
  /*!
   @brief Updates the designated column with a <code>RowId</code> value.The updater
    methods are used to update column values in the current row or the insert
    row.
   The updater methods do not update the underlying database; instead the 
   <code>updateRow</code> or <code>insertRow</code> methods are called
    to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateRowIdWithNSString:(NSString *)columnLabel
                 withJavaSqlRowId:(id<JavaSqlRowId>)x;
  
  /*!
   @brief Retrieves the holdability of this <code>ResultSet</code> object
   @return either <code>ResultSet.HOLD_CURSORS_OVER_COMMIT</code> or <code>ResultSet.CLOSE_CURSORS_AT_COMMIT</code>
   @throw SQLExceptionif a database access error occurs
    or this method is called on a closed result set
   @since 1.6
   */
  - (jint)getHoldability;
  
  /*!
   @brief Retrieves whether this <code>ResultSet</code> object has been closed.A <code>ResultSet</code> is closed if the
    method close has been called on it, or if it is automatically closed.
   @return true if this <code>ResultSet</code> object is closed; false if it is still open
   @throw SQLExceptionif a database access error occurs
   @since 1.6
   */
  - (jboolean)isClosed;
  
  /*!
   @brief Updates the designated column with a <code>String</code> value.
   It is intended for use when updating <code>NCHAR</code>,<code>NVARCHAR</code>
    and <code>LONGNVARCHAR</code> columns.
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second 2, ...
   @param nString the value for the column to be updated
   @throw SQLExceptionif the columnIndex is not valid;
    if the driver does not support national
            character sets;  if the driver can detect that a data conversion
     error could occur; this method is called on a closed result set;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or if a database access error occurs
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNStringWithInt:(jint)columnIndex
                  withNSString:(NSString *)nString;
  
  /*!
   @brief Updates the designated column with a <code>String</code> value.
   It is intended for use when updating <code>NCHAR</code>,<code>NVARCHAR</code>
    and <code>LONGNVARCHAR</code> columns.
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param nString the value for the column to be updated
   @throw SQLExceptionif the columnLabel is not valid;
    if the driver does not support national
            character sets;  if the driver can detect that a data conversion
     error could occur; this method is called on a closed result set;
    the result set concurrency is <CODE>CONCUR_READ_ONLY</code>
     or if a database access error occurs
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNStringWithNSString:(NSString *)columnLabel
                       withNSString:(NSString *)nString;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.NClob</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second 2, ...
   @param nClob the value for the column to be updated
   @throw SQLExceptionif the columnIndex is not valid;
    if the driver does not support national
            character sets;  if the driver can detect that a data conversion
     error could occur; this method is called on a closed result set;
    if a database access error occurs or
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNClobWithInt:(jint)columnIndex
            withJavaSqlNClob:(id<JavaSqlNClob>)nClob;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.NClob</code> value.
   The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param nClob the value for the column to be updated
   @throw SQLExceptionif the columnLabel is not valid;
    if the driver does not support national
            character sets;  if the driver can detect that a data conversion
     error could occur; this method is called on a closed result set;
     if a database access error occurs or
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNClobWithNSString:(NSString *)columnLabel
                 withJavaSqlNClob:(id<JavaSqlNClob>)nClob;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>NClob</code> object
    in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return a <code>NClob</code> object representing the SQL
            <code>NCLOB</code> value in the specified column
   @throw SQLExceptionif the columnIndex is not valid;
    if the driver does not support national
            character sets;  if the driver can detect that a data conversion
     error could occur; this method is called on a closed result set
    or if a database access error occurs
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (id<JavaSqlNClob>)getNClobWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a <code>NClob</code> object
    in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a <code>NClob</code> object representing the SQL <code>NCLOB</code>
    value in the specified column
   @throw SQLExceptionif the columnLabel is not valid;
    if the driver does not support national
            character sets;  if the driver can detect that a data conversion
     error could occur; this method is called on a closed result set
    or if a database access error occurs
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (id<JavaSqlNClob>)getNClobWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in  the current row of
     this <code>ResultSet</code> as a 
   <code>java.sql.SQLXML</code> object in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @return a <code>SQLXML</code> object that maps an <code>SQL XML</code> value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (id<JavaSqlSQLXML>)getSQLXMLWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in  the current row of
     this <code>ResultSet</code> as a 
   <code>java.sql.SQLXML</code> object in the Java programming language.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a <code>SQLXML</code> object that maps an <code>SQL XML</code> value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (id<JavaSqlSQLXML>)getSQLXMLWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.SQLXML</code> value.
   The updater
    methods are used to update column values in the current row or the insert
    row. The updater methods do not update the underlying database; instead the 
   <code>updateRow</code> or <code>insertRow</code> methods are called
    to update the database. 
   <p>
   @param columnIndex the first column is 1, the second 2, ...
   @param xmlObject the value for the column to be updated
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs; this method
     is called on a closed result set;
    the <code>java.xml.transform.Result</code>,
     <code>Writer</code> or <code>OutputStream</code> has not been closed
    for the <code>SQLXML</code> object;
     if there is an error processing the XML value or
    the result set concurrency is <code>CONCUR_READ_ONLY</code>.  The <code>getCause</code> method
     of the exception may provide a more detailed exception, for example, if the
     stream does not contain valid XML.
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateSQLXMLWithInt:(jint)columnIndex
            withJavaSqlSQLXML:(id<JavaSqlSQLXML>)xmlObject;
  
  /*!
   @brief Updates the designated column with a <code>java.sql.SQLXML</code> value.
   The updater
    methods are used to update column values in the current row or the insert
    row. The updater methods do not update the underlying database; instead the 
   <code>updateRow</code> or <code>insertRow</code> methods are called
    to update the database. 
   <p>
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param xmlObject the column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs; this method
     is called on a closed result set;
    the <code>java.xml.transform.Result</code>,
     <code>Writer</code> or <code>OutputStream</code> has not been closed
    for the <code>SQLXML</code> object;
     if there is an error processing the XML value or
    the result set concurrency is <code>CONCUR_READ_ONLY</code>.  The <code>getCause</code> method
     of the exception may provide a more detailed exception, for example, if the
     stream does not contain valid XML.
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateSQLXMLWithNSString:(NSString *)columnLabel
                 withJavaSqlSQLXML:(id<JavaSqlSQLXML>)xmlObject;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>String</code> in the Java programming language.
   It is intended for use when
    accessing  <code>NCHAR</code>,<code>NVARCHAR</code>
    and <code>LONGNVARCHAR</code> columns.
   @param columnIndex the first column is 1, the second is 2, ...
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (NSString *)getNStringWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as
    a <code>String</code> in the Java programming language.
   It is intended for use when
    accessing  <code>NCHAR</code>,<code>NVARCHAR</code>
    and <code>LONGNVARCHAR</code> columns.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return the column value; if the value is SQL <code>NULL</code>, the
    value returned is <code>null</code>
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (NSString *)getNStringWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a 
   <code>java.io.Reader</code> object.
   It is intended for use when
    accessing  <code>NCHAR</code>,<code>NVARCHAR</code>
    and <code>LONGNVARCHAR</code> columns.
   @return a <code>java.io.Reader</code> object that contains the column
    value; if the value is SQL <code>NULL</code>, the value returned is 
   <code>null</code> in the Java programming language.
   @param columnIndex the first column is 1, the second is 2, ...
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (JavaIoReader *)getNCharacterStreamWithInt:(jint)columnIndex;
  
  /*!
   @brief Retrieves the value of the designated column in the current row
    of this <code>ResultSet</code> object as a 
   <code>java.io.Reader</code> object.
   It is intended for use when
    accessing  <code>NCHAR</code>,<code>NVARCHAR</code>
    and <code>LONGNVARCHAR</code> columns.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @return a <code>java.io.Reader</code> object that contains the column
    value; if the value is SQL <code>NULL</code>, the value returned is 
   <code>null</code> in the Java programming language
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (JavaIoReader *)getNCharacterStreamWithNSString:(NSString *)columnLabel;
  
  /*!
   @brief Updates the designated column with a character stream value, which will have
    the specified number of bytes.The
    driver does the necessary conversion from Java character format to
    the national character set in the database.
   It is intended for use when
    updating  <code>NCHAR</code>,<code>NVARCHAR</code>
    and <code>LONGNVARCHAR</code> columns. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNCharacterStreamWithInt:(jint)columnIndex
                       withJavaIoReader:(JavaIoReader *)x
                               withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column with a character stream value, which will have
    the specified number of bytes.The
    driver does the necessary conversion from Java character format to
    the national character set in the database.
   It is intended for use when
    updating  <code>NCHAR</code>,<code>NVARCHAR</code>
    and <code>LONGNVARCHAR</code> columns. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param reader the  <code> java.io.Reader </code>  object containing
            the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNCharacterStreamWithNSString:(NSString *)columnLabel
                            withJavaIoReader:(JavaIoReader *)reader
                                    withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column with an ascii stream value, which will have
    the specified number of bytes.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateAsciiStreamWithInt:(jint)columnIndex
             withJavaIoInputStream:(JavaIoInputStream *)x
                          withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column with a binary stream value, which will have
    the specified number of bytes.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateBinaryStreamWithInt:(jint)columnIndex
              withJavaIoInputStream:(JavaIoInputStream *)x
                           withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column with a character stream value, which will have
    the specified number of bytes.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateCharacterStreamWithInt:(jint)columnIndex
                      withJavaIoReader:(JavaIoReader *)x
                              withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column with an ascii stream value, which will have
    the specified number of bytes.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateAsciiStreamWithNSString:(NSString *)columnLabel
                  withJavaIoInputStream:(JavaIoInputStream *)x
                               withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column with a binary stream value, which will have
    the specified number of bytes.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateBinaryStreamWithNSString:(NSString *)columnLabel
                   withJavaIoInputStream:(JavaIoInputStream *)x
                                withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column with a character stream value, which will have
    the specified number of bytes.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param reader the  <code> java.io.Reader </code>  object containing
            the new column value
   @param length the length of the stream
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateCharacterStreamWithNSString:(NSString *)columnLabel
                           withJavaIoReader:(JavaIoReader *)reader
                                   withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column using the given input stream, which
    will have the specified number of bytes.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param inputStream An object that contains the data to set the parameter  value to.
   @param length the number of bytes in the parameter data.
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateBlobWithInt:(jint)columnIndex
      withJavaIoInputStream:(JavaIoInputStream *)inputStream
                   withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column using the given input stream, which
    will have the specified number of bytes.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param inputStream An object that contains the data to set the parameter  value to.
   @param length the number of bytes in the parameter data.
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateBlobWithNSString:(NSString *)columnLabel
           withJavaIoInputStream:(JavaIoInputStream *)inputStream
                        withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column using the given <code>Reader</code>
    object, which is the given number of characters long.
   When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
    parameter, it may be more practical to send it via a 
   <code>java.io.Reader</code> object. The JDBC driver will
    do any necessary conversion from UNICODE to the database char format. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second is 2, ...
   @param reader An object that contains the data to set the parameter value to.
   @param length the number of characters in the parameter data.
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateClobWithInt:(jint)columnIndex
           withJavaIoReader:(JavaIoReader *)reader
                   withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column using the given <code>Reader</code>
    object, which is the given number of characters long.
   When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
    parameter, it may be more practical to send it via a 
   <code>java.io.Reader</code> object.  The JDBC driver will
    do any necessary conversion from UNICODE to the database char format. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param reader An object that contains the data to set the parameter value to.
   @param length the number of characters in the parameter data.
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateClobWithNSString:(NSString *)columnLabel
                withJavaIoReader:(JavaIoReader *)reader
                        withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column using the given <code>Reader</code>
    object, which is the given number of characters long.
   When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
    parameter, it may be more practical to send it via a 
   <code>java.io.Reader</code> object. The JDBC driver will
    do any necessary conversion from UNICODE to the database char format. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnIndex the first column is 1, the second 2, ...
   @param reader An object that contains the data to set the parameter value to.
   @param length the number of characters in the parameter data.
   @throw SQLExceptionif the columnIndex is not valid;
    if the driver does not support national
            character sets;  if the driver can detect that a data conversion
     error could occur; this method is called on a closed result set,
    if a database access error occurs or
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNClobWithInt:(jint)columnIndex
            withJavaIoReader:(JavaIoReader *)reader
                    withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column using the given <code>Reader</code>
    object, which is the given number of characters long.
   When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
    parameter, it may be more practical to send it via a 
   <code>java.io.Reader</code> object. The JDBC driver will
    do any necessary conversion from UNICODE to the database char format. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param reader An object that contains the data to set the parameter value to.
   @param length the number of characters in the parameter data.
   @throw SQLExceptionif the columnLabel is not valid;
    if the driver does not support national
            character sets;  if the driver can detect that a data conversion
     error could occur; this method is called on a closed result set;
     if a database access error occurs or
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNClobWithNSString:(NSString *)columnLabel
                 withJavaIoReader:(JavaIoReader *)reader
                         withLong:(jlong)length;
  
  /*!
   @brief Updates the designated column with a character stream value.
   The data will be read from the stream
    as needed until end-of-stream is reached.  The
    driver does the necessary conversion from Java character format to
    the national character set in the database.
    It is intended for use when
    updating  <code>NCHAR</code>,<code>NVARCHAR</code>
    and <code>LONGNVARCHAR</code> columns. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateNCharacterStream</code> which takes a length parameter.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNCharacterStreamWithInt:(jint)columnIndex
                       withJavaIoReader:(JavaIoReader *)x;
  
  /*!
   @brief Updates the designated column with a character stream value.
   The data will be read from the stream
    as needed until end-of-stream is reached.  The
    driver does the necessary conversion from Java character format to
    the national character set in the database.
    It is intended for use when
    updating  <code>NCHAR</code>,<code>NVARCHAR</code>
    and <code>LONGNVARCHAR</code> columns. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateNCharacterStream</code> which takes a length parameter.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param reader the  <code> java.io.Reader </code>  object containing
            the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNCharacterStreamWithNSString:(NSString *)columnLabel
                            withJavaIoReader:(JavaIoReader *)reader;
  
  /*!
   @brief Updates the designated column with an ascii stream value.
   The data will be read from the stream
    as needed until end-of-stream is reached. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateAsciiStream</code> which takes a length parameter.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateAsciiStreamWithInt:(jint)columnIndex
             withJavaIoInputStream:(JavaIoInputStream *)x;
  
  /*!
   @brief Updates the designated column with a binary stream value.
   The data will be read from the stream
    as needed until end-of-stream is reached. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateBinaryStream</code> which takes a length parameter.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateBinaryStreamWithInt:(jint)columnIndex
              withJavaIoInputStream:(JavaIoInputStream *)x;
  
  /*!
   @brief Updates the designated column with a character stream value.
   The data will be read from the stream
    as needed until end-of-stream is reached. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateCharacterStream</code> which takes a length parameter.
   @param columnIndex the first column is 1, the second is 2, ...
   @param x the new column value
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateCharacterStreamWithInt:(jint)columnIndex
                      withJavaIoReader:(JavaIoReader *)x;
  
  /*!
   @brief Updates the designated column with an ascii stream value.
   The data will be read from the stream
    as needed until end-of-stream is reached. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateAsciiStream</code> which takes a length parameter.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateAsciiStreamWithNSString:(NSString *)columnLabel
                  withJavaIoInputStream:(JavaIoInputStream *)x;
  
  /*!
   @brief Updates the designated column with a binary stream value.
   The data will be read from the stream
    as needed until end-of-stream is reached. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateBinaryStream</code> which takes a length parameter.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param x the new column value
   @throw SQLExceptionif the columnLabel is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateBinaryStreamWithNSString:(NSString *)columnLabel
                   withJavaIoInputStream:(JavaIoInputStream *)x;
  
  /*!
   @brief Updates the designated column with a character stream value.
   The data will be read from the stream
    as needed until end-of-stream is reached. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateCharacterStream</code> which takes a length parameter.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param reader the  <code> java.io.Reader </code>  object containing
            the new column value
   @throw SQLExceptionif the columnLabel is not valid; if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateCharacterStreamWithNSString:(NSString *)columnLabel
                           withJavaIoReader:(JavaIoReader *)reader;
  
  /*!
   @brief Updates the designated column using the given input stream.The data will be read from the stream
    as needed until end-of-stream is reached.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateBlob</code> which takes a length parameter.
   @param columnIndex the first column is 1, the second is 2, ...
   @param inputStream An object that contains the data to set the parameter  value to.
   @throw SQLExceptionif the columnIndex is not valid; if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateBlobWithInt:(jint)columnIndex
      withJavaIoInputStream:(JavaIoInputStream *)inputStream;
  
  /*!
   @brief Updates the designated column using the given input stream.The data will be read from the stream
    as needed until end-of-stream is reached.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
      
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateBlob</code> which takes a length parameter.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param inputStream An object that contains the data to set the parameter  value to.
   @throw SQLExceptionif the columnLabel is not valid; if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateBlobWithNSString:(NSString *)columnLabel
           withJavaIoInputStream:(JavaIoInputStream *)inputStream;
  
  /*!
   @brief Updates the designated column using the given <code>Reader</code>
    object.
   The data will be read from the stream
    as needed until end-of-stream is reached.  The JDBC driver will
    do any necessary conversion from UNICODE to the database char format. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database.
      
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateClob</code> which takes a length parameter.
   @param columnIndex the first column is 1, the second is 2, ...
   @param reader An object that contains the data to set the parameter value to.
   @throw SQLExceptionif the columnIndex is not valid;
    if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateClobWithInt:(jint)columnIndex
           withJavaIoReader:(JavaIoReader *)reader;
  
  /*!
   @brief Updates the designated column using the given <code>Reader</code>
    object.
   The data will be read from the stream
    as needed until end-of-stream is reached.  The JDBC driver will
    do any necessary conversion from UNICODE to the database char format. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateClob</code> which takes a length parameter.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param reader An object that contains the data to set the parameter value to.
   @throw SQLExceptionif the columnLabel is not valid; if a database access error occurs;
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
    or this method is called on a closed result set
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateClobWithNSString:(NSString *)columnLabel
                withJavaIoReader:(JavaIoReader *)reader;
  
  /*!
   @brief Updates the designated column using the given <code>Reader</code>
    The data will be read from the stream
    as needed until end-of-stream is reached.The JDBC driver will
    do any necessary conversion from UNICODE to the database char format.
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateNClob</code> which takes a length parameter.
   @param columnIndex the first column is 1, the second 2, ...
   @param reader An object that contains the data to set the parameter value to.
   @throw SQLExceptionif the columnIndex is not valid;
    if the driver does not support national
            character sets;  if the driver can detect that a data conversion
     error could occur; this method is called on a closed result set,
    if a database access error occurs or
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNClobWithInt:(jint)columnIndex
            withJavaIoReader:(JavaIoReader *)reader;
  
  /*!
   @brief Updates the designated column using the given <code>Reader</code>
    object.
   The data will be read from the stream
    as needed until end-of-stream is reached.  The JDBC driver will
    do any necessary conversion from UNICODE to the database char format. 
   <p>
    The updater methods are used to update column values in the
    current row or the insert row.  The updater methods do not
    update the underlying database; instead the <code>updateRow</code> or 
   <code>insertRow</code> methods are called to update the database. 
   <P><B>Note:</B> Consult your JDBC driver documentation to determine if
    it might be more efficient to use a version of 
   <code>updateNClob</code> which takes a length parameter.
   @param columnLabel the label for the column specified with the SQL AS clause.  If the SQL AS clause was not specified, then the label is the name of the column
   @param reader An object that contains the data to set the parameter value to.
   @throw SQLExceptionif the columnLabel is not valid; if the driver does not support national
            character sets;  if the driver can detect that a data conversion
     error could occur; this method is called on a closed result set;
     if a database access error occurs or
    the result set concurrency is <code>CONCUR_READ_ONLY</code>
   @throw SQLFeatureNotSupportedExceptionif the JDBC driver does not support
    this method
   @since 1.6
   */
  - (void)updateNClobWithNSString:(NSString *)columnLabel
                 withJavaIoReader:(JavaIoReader *)reader;
  
  @end
  
  @interface JavaSqlResultSet : NSObject
  @property (readonly, class) jint FETCH_FORWARD NS_SWIFT_NAME(FETCH_FORWARD);
  @property (readonly, class) jint FETCH_REVERSE NS_SWIFT_NAME(FETCH_REVERSE);
  @property (readonly, class) jint FETCH_UNKNOWN NS_SWIFT_NAME(FETCH_UNKNOWN);
  @property (readonly, class) jint TYPE_FORWARD_ONLY NS_SWIFT_NAME(TYPE_FORWARD_ONLY);
  @property (readonly, class) jint TYPE_SCROLL_INSENSITIVE NS_SWIFT_NAME(TYPE_SCROLL_INSENSITIVE);
  @property (readonly, class) jint TYPE_SCROLL_SENSITIVE NS_SWIFT_NAME(TYPE_SCROLL_SENSITIVE);
  @property (readonly, class) jint CONCUR_READ_ONLY NS_SWIFT_NAME(CONCUR_READ_ONLY);
  @property (readonly, class) jint CONCUR_UPDATABLE NS_SWIFT_NAME(CONCUR_UPDATABLE);
  @property (readonly, class) jint HOLD_CURSORS_OVER_COMMIT NS_SWIFT_NAME(HOLD_CURSORS_OVER_COMMIT);
  @property (readonly, class) jint CLOSE_CURSORS_AT_COMMIT NS_SWIFT_NAME(CLOSE_CURSORS_AT_COMMIT);
  
  + (jint)FETCH_FORWARD;
  
  + (jint)FETCH_REVERSE;
  
  + (jint)FETCH_UNKNOWN;
  
  + (jint)TYPE_FORWARD_ONLY;
  
  + (jint)TYPE_SCROLL_INSENSITIVE;
  
  + (jint)TYPE_SCROLL_SENSITIVE;
  
  + (jint)CONCUR_READ_ONLY;
  
  + (jint)CONCUR_UPDATABLE;
  
  + (jint)HOLD_CURSORS_OVER_COMMIT;
  
  + (jint)CLOSE_CURSORS_AT_COMMIT;
  
  @end
  
  J2OBJC_EMPTY_STATIC_INIT(JavaSqlResultSet)
  
  /*!
   @brief The constant indicating that the rows in a result set will be
    processed in a forward direction; first-to-last.
   This constant is used by the method <code>setFetchDirection</code>
    as a hint to the driver, which the driver may ignore.
   @since 1.2
   */
  inline jint JavaSqlResultSet_get_FETCH_FORWARD(void);
  #define JavaSqlResultSet_FETCH_FORWARD 1000
  J2OBJC_STATIC_FIELD_CONSTANT(JavaSqlResultSet, FETCH_FORWARD, jint)
  
  /*!
   @brief The constant indicating that the rows in a result set will be
    processed in a reverse direction; last-to-first.
   This constant is used by the method <code>setFetchDirection</code>
    as a hint to the driver, which the driver may ignore.
   @since 1.2
   */
  inline jint JavaSqlResultSet_get_FETCH_REVERSE(void);
  #define JavaSqlResultSet_FETCH_REVERSE 1001
  J2OBJC_STATIC_FIELD_CONSTANT(JavaSqlResultSet, FETCH_REVERSE, jint)
  
  /*!
   @brief The constant indicating that the order in which rows in a
    result set will be processed is unknown.
   This constant is used by the method <code>setFetchDirection</code>
    as a hint to the driver, which the driver may ignore.
   */
  inline jint JavaSqlResultSet_get_FETCH_UNKNOWN(void);
  #define JavaSqlResultSet_FETCH_UNKNOWN 1002
  J2OBJC_STATIC_FIELD_CONSTANT(JavaSqlResultSet, FETCH_UNKNOWN, jint)
  
  /*!
   @brief The constant indicating the type for a <code>ResultSet</code> object
    whose cursor may move only forward.
   @since 1.2
   */
  inline jint JavaSqlResultSet_get_TYPE_FORWARD_ONLY(void);
  #define JavaSqlResultSet_TYPE_FORWARD_ONLY 1003
  J2OBJC_STATIC_FIELD_CONSTANT(JavaSqlResultSet, TYPE_FORWARD_ONLY, jint)
  
  /*!
   @brief The constant indicating the type for a <code>ResultSet</code> object
    that is scrollable but generally not sensitive to changes to the data
    that underlies the <code>ResultSet</code>.
   @since 1.2
   */
  inline jint JavaSqlResultSet_get_TYPE_SCROLL_INSENSITIVE(void);
  #define JavaSqlResultSet_TYPE_SCROLL_INSENSITIVE 1004
  J2OBJC_STATIC_FIELD_CONSTANT(JavaSqlResultSet, TYPE_SCROLL_INSENSITIVE, jint)
  
  /*!
   @brief The constant indicating the type for a <code>ResultSet</code> object
    that is scrollable and generally sensitive to changes to the data
    that underlies the <code>ResultSet</code>.
   @since 1.2
   */
  inline jint JavaSqlResultSet_get_TYPE_SCROLL_SENSITIVE(void);
  #define JavaSqlResultSet_TYPE_SCROLL_SENSITIVE 1005
  J2OBJC_STATIC_FIELD_CONSTANT(JavaSqlResultSet, TYPE_SCROLL_SENSITIVE, jint)
  
  /*!
   @brief The constant indicating the concurrency mode for a 
   <code>ResultSet</code> object that may NOT be updated.
   @since 1.2
   */
  inline jint JavaSqlResultSet_get_CONCUR_READ_ONLY(void);
  #define JavaSqlResultSet_CONCUR_READ_ONLY 1007
  J2OBJC_STATIC_FIELD_CONSTANT(JavaSqlResultSet, CONCUR_READ_ONLY, jint)
  
  /*!
   @brief The constant indicating the concurrency mode for a 
   <code>ResultSet</code> object that may be updated.
   @since 1.2
   */
  inline jint JavaSqlResultSet_get_CONCUR_UPDATABLE(void);
  #define JavaSqlResultSet_CONCUR_UPDATABLE 1008
  J2OBJC_STATIC_FIELD_CONSTANT(JavaSqlResultSet, CONCUR_UPDATABLE, jint)
  
  /*!
   @brief The constant indicating that open <code>ResultSet</code> objects with this
    holdability will remain open when the current transaction is commited.
   @since 1.4
   */
  inline jint JavaSqlResultSet_get_HOLD_CURSORS_OVER_COMMIT(void);
  #define JavaSqlResultSet_HOLD_CURSORS_OVER_COMMIT 1
  J2OBJC_STATIC_FIELD_CONSTANT(JavaSqlResultSet, HOLD_CURSORS_OVER_COMMIT, jint)
  
  /*!
   @brief The constant indicating that open <code>ResultSet</code> objects with this
    holdability will be closed when the current transaction is commited.
   @since 1.4
   */
  inline jint JavaSqlResultSet_get_CLOSE_CURSORS_AT_COMMIT(void);
  #define JavaSqlResultSet_CLOSE_CURSORS_AT_COMMIT 2
  J2OBJC_STATIC_FIELD_CONSTANT(JavaSqlResultSet, CLOSE_CURSORS_AT_COMMIT, jint)
  
  J2OBJC_TYPE_LITERAL_HEADER(JavaSqlResultSet)
  
  #endif
  
  
  #if __has_feature(nullability)
  #pragma clang diagnostic pop
  #endif
  
  #pragma clang diagnostic pop
  #pragma pop_macro("INCLUDE_ALL_JavaSqlResultSet")
  