Package | Class | Tree | Deprecated
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.hsqldb
Class jdbcPreparedStatement

    java.lang.Object
      |
      +--org.hsqldb.jdbcStatement
            |
            +--org.hsqldb.jdbcPreparedStatement

public class jdbcPreparedStatement
extends jdbcStatement
implements java.sql.PreparedStatement, java.sql.CallableStatement

In HSQL Database Engine, the class jdbcPreparedStatement implements both the PreparedStatement and the CallableStatement interfaces.

CallableStatement is used to execute SQL stored procedures,
PreparedStatement is used to execute SQL statement with parameters.

There are currently no stored procedures in HSQL Database Engine. The reason is that stored procedures are currently extremely proprietary. If a stored procedure was made for one database type, it will not work in a database of another vendor.

The functions for working with OUT parameters are not implemented because there are no statements that returns OUT parameters. All statements in HSQL Database Engine returns a ResultSet or a Update Count.

For other databases it may be required to use OUT parameters when calling stored procedures or vendor specific statements.

A PreparedStatement represents a precompiled SQL statement.

A SQL statement is pre-compiled and stored in a PreparedStatement object. This object can then be used to execute this statement multiple times.

Note: The setXXX methods for setting IN parameter values must specify types that are compatible with the defined SQL type of the input parameter. For instance, if the IN parameter has SQL type Integer, then the method `setInt` should be used.

If arbitrary parameter type conversions are required, the method `setObject` should be used with a target SQL type.
Example of setting a parameter; `con` is an active connection

     PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
     SET SALARY = ? WHERE ID = ?");
     pstmt.setBigDecimal(1, 153833.00)
     pstmt.setInt(2, 110592)

The interface CallableStatement is used to execute SQL stored procedures. JDBC provides a stored procedure SQL escape that allows stored procedures to be called in a standard way for all RDBMSs. This escape syntax has one form that includes a result parameter and one that does not. If used, the result parameter must be registered as an OUT parameter. The other parameters can be used for input, output or both. Parameters are referred to sequentially, by number. The first parameter is 1.

>      {?= call <procedure-name>[<arg1>,<arg2>, ...]}
>      {call <procedure-name>[<arg1>,<arg2>, ...]}

IN parameter values are set using the set methods inherited from `PreparedStatement`. The type of all OUT parameters must be registered prior to executing the stored procedure; their values are retrieved after execution via the `get` methods provided here.

A `CallableStatement` can return one `ResultSet` or multiple `ResultSet` objets. Multiple `ResultSet` objects are handled using operations inherited from `Statement`.

For maximum portability, a call's `ResultSet` objects and update counts should be processed prior to getting the values of output parameters.

See Also:
  `jdbcResultSet`

Constructor Summary
`(package private)` | `jdbcPreparedStatement(jdbcConnection c, java.lang.String s)` Constructor declaration

Method Summary
`void` | `addBatch()` JDBC 2.0 Adds a set of parameters to the batch.
`void` | `clearParameters()` Clears the current parameter values immediately.
`boolean` | `execute()` Executes any kind of SQL statement.
`java.sql.ResultSet` | `executeQuery()` Executes the SQL query in this `PreparedStatement` object and returns the result set generated by the query.
`int` | `executeUpdate()` Executes the SQL INSERT, UPDATE or DELETE statement in this `PreparedStatement` object.
`java.sql.Array` | `getArray(int i)` Method declaration
`java.math.BigDecimal` | `getBigDecimal(int parameterIndex)` Method declaration
`java.math.BigDecimal` | `getBigDecimal(int parameterIndex, int scale)` Method declaration
`java.sql.Blob` | `getBlob(int i)` Method declaration
`boolean` | `getBoolean(int parameterIndex)` Gets the value of a JDBC BIT parameter as a `boolean` in the Java programming language.
`byte` | `getByte(int parameterIndex)` Method declaration
`byte[]` | `getBytes(int parameterIndex)` Method declaration
`java.sql.Clob` | `getClob(int i)` Method declaration
`java.sql.Date` | `getDate(int parameterIndex)` Method declaration
`java.sql.Date` | `getDate(int parameterIndex, java.util.Calendar cal)` Method declaration
`double` | `getDouble(int parameterIndex)` Method declaration
`float` | `getFloat(int parameterIndex)` Method declaration
`int` | `getInt(int parameterIndex)` Method declaration
`long` | `getLong(int parameterIndex)` Method declaration
`java.sql.ResultSetMetaData` | `getMetaData()` JDBC 2.0 Gets the number, types and properties of a ResultSet's columns.
`java.lang.Object` | `getObject(int parameterIndex)` Method declaration
`java.lang.Object` | `getObject(int i, java.util.Map map)` Method declaration
`java.sql.Ref` | `getRef(int i)` JDBC 2.0 Sets a REF(<structured-type>) parameter.
`short` | `getShort(int parameterIndex)` Method declaration
`java.lang.String` | `getString(int parameterIndex)` Retrieves the value of a JDBC `CHAR`, `VARCHAR`, or `LONGVARCHAR` parameter as a `String` in the Java programming language.
`java.sql.Time` | `getTime(int parameterIndex)` Method declaration
`java.sql.Time` | `getTime(int parameterIndex, java.util.Calendar cal)` Method declaration
`java.sql.Timestamp` | `getTimestamp(int parameterIndex)` Method declaration
`java.sql.Timestamp` | `getTimestamp(int parameterIndex, java.util.Calendar cal)` Method declaration
`void` | `registerOutParameter(int parameterIndex, int sqlType)` Registers the OUT parameter in ordinal position `parameterIndex` to the JDBC type `sqlType`.
`void` | `registerOutParameter(int parameterIndex, int sqlType, int scale)` Registers the parameter in ordinal position `parameterIndex` to be of JDBC type `sqlType`.
`void` | `registerOutParameter(int paramIndex, int sqlType, java.lang.String typeName)` Method declaration
`void` | `setArray(int i, java.sql.Array x)` JDBC 2.0 Sets an Array parameter.
`void` | `setAsciiStream(int parameterIndex, java.io.InputStream x, int length)` Sets the designated parameter to the given input stream, which will have the specified number of bytes.
`void` | `setBigDecimal(int parameterIndex, java.math.BigDecimal x)` Sets the designated parameter to a java.lang.BigDecimal value.
`void` | `setBinaryStream(int parameterIndex, java.io.InputStream x, int length)` Sets the designated parameter to the given input stream, which will have the specified number of bytes.
`void` | `setBlob(int i, java.sql.Blob x)` JDBC 2.0 Sets a BLOB parameter.
`void` | `setBoolean(int parameterIndex, boolean x)` Sets the designated parameter to a Java boolean value.
`void` | `setByte(int parameterIndex, byte x)` Sets the designated parameter to a Java byte value.
`void` | `setBytes(int parameterIndex, byte[] x)` Sets the designated parameter to a Java array of bytes.
`void` | `setCharacterStream(int parameterIndex, java.io.Reader reader, int length)` JDBC 2.0 Sets the designated parameter to the given `Reader` object, which is the given number of characters long.
`void` | `setClob(int i, java.sql.Clob x)` JDBC 2.0 Sets a CLOB parameter.
`void` | `setDate(int parameterIndex, java.sql.Date x)` Sets the designated parameter to a java.sql.Date value.
`void` | `setDate(int parameterIndex, java.sql.Date x, java.util.Calendar cal)` JDBC 2.0 Sets the designated parameter to a java.sql.Date value, using the given `Calendar` object.
`void` | `setDouble(int parameterIndex, double x)` Sets the designated parameter to a Java double value.
`void` | `setFloat(int parameterIndex, float x)` Sets the designated parameter to a Java float value.
`void` | `setInt(int parameterIndex, int x)` Sets the designated parameter to a Java int value.
`void` | `setLong(int parameterIndex, long x)` Sets the designated parameter to a Java long value.
`void` | `setNull(int parameterIndex, int sqlType)` Sets the designated parameter to SQL NULL.
`void` | `setNull(int parameterIndex, int sqlType, java.lang.String typeName)` JDBC 2.0 Sets the designated parameter to SQL NULL.
`void` | `setObject(int parameterIndex, java.lang.Object x)` Sets the value of a parameter using an object; use the java.lang equivalent objects for integral values.
`void` | `setObject(int parameterIndex, java.lang.Object x, int type)` Sets the value of the designated parameter with the given object.
`void` | `setObject(int i, java.lang.Object x, int type, int scale)` Sets the value of a parameter using an object.
`void` | `setRef(int i, java.sql.Ref x)` JDBC 2.0 Sets a REF(<structured-type>) parameter.
`void` | `setShort(int parameterIndex, short x)` Sets the designated parameter to a Java short value.
`void` | `setString(int parameterIndex, java.lang.String x)` Sets the designated parameter to a Java String value.
`void` | `setTime(int parameterIndex, java.sql.Time x)` Sets the designated parameter to a java.sql.Time value.
`void` | `setTime(int parameterIndex, java.sql.Time x, java.util.Calendar cal)` JDBC 2.0 Sets the designated parameter to a java.sql.Time value, using the given `Calendar` object.
`void` | `setTimestamp(int parameterIndex, java.sql.Timestamp x)` Sets the designated parameter to a java.sql.Timestamp value.
`void` | `setTimestamp(int parameterIndex, java.sql.Timestamp x, java.util.Calendar cal)` JDBC 2.0 Sets the designated parameter to a java.sql.Timestamp value, using the given `Calendar` object.
`void` | `setUnicodeStream(int paramIndex, java.io.InputStream x, int length)` Deprecated.
`boolean` | `wasNull()` Indicates whether or not the last OUT parameter read had the value of SQL NULL.

Methods inherited from class org.hsqldb.jdbcStatement
`addBatch, cancel, clearBatch, clearWarnings, close, execute, executeBatch, executeQuery, executeUpdate, getConnection, getFetchDirection, getFetchSize, getMaxFieldSize, getMaxRows, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetType, getUpdateCount, getWarnings, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setQueryTimeout`

Methods inherited from class java.lang.Object
`, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### jdbcPreparedStatement

    jdbcPreparedStatement(jdbcConnection c,
                          java.lang.String s)

  Constructor declaration
  Parameters:
    `c` -
    `s` -

Method Detail

### executeQuery

    public java.sql.ResultSet executeQuery()
                                    throws java.sql.SQLException

  Executes the SQL query in this `PreparedStatement` object and returns the result set generated by the query.
  Specified by:
    executeQuery in interface java.sql.PreparedStatement
  Returns:
    a ResultSet that contains the data produced by the query; never null
  Throws:
    java.sql.SQLException - if a database access error occurs

### executeUpdate

    public int executeUpdate()
                      throws java.sql.SQLException

  Executes the SQL INSERT, UPDATE or DELETE statement in this `PreparedStatement` object. In addition, SQL statements that return nothing, such as SQL DDL statements, can be executed.
  Specified by:
    executeUpdate in interface java.sql.PreparedStatement
  Returns:
    either the row count for INSERT, UPDATE or DELETE statements; or 0 for SQL statements that return nothing
  Throws:
    java.sql.SQLException - if a database access error occurs

### setNull

    public void setNull(int parameterIndex,
                        int sqlType)
                 throws java.sql.SQLException

  Sets the designated parameter to SQL NULL.

  Note: You must specify the parameter's SQL type.

  Specified by:
    setNull in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `sqlType` - the SQL type code defined in java.sql.Types
  Throws:
    java.sql.SQLException - if a database access error occurs

### setBoolean

    public void setBoolean(int parameterIndex,
                           boolean x)
                    throws java.sql.SQLException

  Sets the designated parameter to a Java boolean value. The driver converts this to an SQL BIT value when it sends it to the database.
  Specified by:
    setBoolean in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setByte

    public void setByte(int parameterIndex,
                        byte x)
                 throws java.sql.SQLException

  Sets the designated parameter to a Java byte value. The driver converts this to an SQL TINYINT value when it sends it to the database.
  Specified by:
    setByte in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setShort

    public void setShort(int parameterIndex,
                         short x)
                  throws java.sql.SQLException

  Sets the designated parameter to a Java short value. The driver converts this to an SQL SMALLINT value when it sends it to the database.
  Specified by:
    setShort in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setInt

    public void setInt(int parameterIndex,
                       int x)
                throws java.sql.SQLException

  Sets the designated parameter to a Java int value. The driver converts this to an SQL INTEGER value when it sends it to the database.
  Specified by:
    setInt in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setLong

    public void setLong(int parameterIndex,
                        long x)
                 throws java.sql.SQLException

  Sets the designated parameter to a Java long value. The driver converts this to an SQL BIGINT value when it sends it to the database.
  Specified by:
    setLong in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setFloat

    public void setFloat(int parameterIndex,
                         float x)
                  throws java.sql.SQLException

  Sets the designated parameter to a Java float value. The driver converts this to an SQL FLOAT value when it sends it to the database.
  Specified by:
    setFloat in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setDouble

    public void setDouble(int parameterIndex,
                          double x)
                   throws java.sql.SQLException

  Sets the designated parameter to a Java double value. The driver converts this to an SQL DOUBLE value when it sends it to the database.
  Specified by:
    setDouble in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setBigDecimal

    public void setBigDecimal(int parameterIndex,
                              java.math.BigDecimal x)
                       throws java.sql.SQLException

  Sets the designated parameter to a java.lang.BigDecimal value. The driver converts this to an SQL NUMERIC value when it sends it to the database.
  Specified by:
    setBigDecimal in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setString

    public void setString(int parameterIndex,
                          java.lang.String x)
                   throws java.sql.SQLException

  Sets the designated parameter to a Java String value. The driver converts this to an SQL VARCHAR or LONGVARCHAR value (depending on the argument's size relative to the driver's limits on VARCHARs) when it sends it to the database.
  Specified by:
    setString in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setBytes

    public void setBytes(int parameterIndex,
                         byte[] x)
                  throws java.sql.SQLException

  Sets the designated parameter to a Java array of bytes. The driver converts this to an SQL VARBINARY or LONGVARBINARY (depending on the argument's size relative to the driver's limits on VARBINARYs) when it sends it to the database.
  Specified by:
    setBytes in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setDate

    public void setDate(int parameterIndex,
                        java.sql.Date x)
                 throws java.sql.SQLException

  Sets the designated parameter to a java.sql.Date value. The driver converts this to an SQL DATE value when it sends it to the database.
  Specified by:
    setDate in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setTime

    public void setTime(int parameterIndex,
                        java.sql.Time x)
                 throws java.sql.SQLException

  Sets the designated parameter to a java.sql.Time value. The driver converts this to an SQL TIME value when it sends it to the database.
  Specified by:
    setTime in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setTimestamp

    public void setTimestamp(int parameterIndex,
                             java.sql.Timestamp x)
                      throws java.sql.SQLException

  Sets the designated parameter to a java.sql.Timestamp value. The driver converts this to an SQL TIMESTAMP value when it sends it to the database.
  Specified by:
    setTimestamp in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### setAsciiStream

    public void setAsciiStream(int parameterIndex,
                               java.io.InputStream x,
                               int length)
                        throws java.sql.SQLException

  Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. JDBC will read the data from the stream as needed, until it reaches end-of-file. The JDBC driver will do any necessary conversion from ASCII to the database char format.

  Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

  Specified by:
    setAsciiStream in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the Java input stream that contains the ASCII parameter value
    `length` - the number of bytes in the stream
  Throws:
    java.sql.SQLException - if a database access error occurs

### setUnicodeStream

    public void setUnicodeStream(int paramIndex,
                                 java.io.InputStream x,
                                 int length)
                          throws java.sql.SQLException

  Deprecated.

  Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. JDBC will read the data from the stream as needed, until it reaches end-of-file. The JDBC driver will do any necessary conversion from UNICODE to the database char format. The byte format of the Unicode stream must be Java UTF-8, as defined in the Java Virtual Machine Specification.

  Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

  Specified by:
    setUnicodeStream in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the java input stream which contains the UNICODE parameter value
    `length` - the number of bytes in the stream
  Throws:
    java.sql.SQLException - if a database access error occurs

### setBinaryStream

    public void setBinaryStream(int parameterIndex,
                                java.io.InputStream x,
                                int length)
                         throws java.sql.SQLException

  Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large binary value is input to a LONGVARBINARY parameter, it may be more practical to send it via a java.io.InputStream. JDBC will read the data from the stream as needed, until it reaches end-of-file.

  Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

  Specified by:
    setBinaryStream in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the java input stream which contains the binary parameter value
    `length` - the number of bytes in the stream
  Throws:
    java.sql.SQLException - if a database access error occurs

### clearParameters

    public void clearParameters()

  Clears the current parameter values immediately.

  In general, parameter values remain in force for repeated use of a Statement. Setting a parameter value automatically clears its previous value. However, in some cases it is useful to immediately release the resources used by the current parameter values; this can be done by calling clearParameters.

  Specified by:
    clearParameters in interface java.sql.PreparedStatement

### setObject

    public void setObject(int i,
                          java.lang.Object x,
                          int type,
                          int scale)
                   throws java.sql.SQLException

  Sets the value of a parameter using an object. The second argument must be an object type; for integral values, the java.lang equivalent objects should be used.

  The given Java object will be converted to the targetSqlType before being sent to the database. If the object has a custom mapping (is of a class implementing SQLData), the JDBC driver should call its method `writeSQL` to write it to the SQL data stream. If, on the other hand, the object is of a class implementing Ref, Blob, Clob, Struct, or Array, the driver should pass it to the database as a value of the corresponding SQL type.

  Note that this method may be used to pass datatabase- specific abstract data types.

  Specified by:
    setObject in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the object containing the input parameter value
    `targetSqlType` - the SQL type (as defined in java.sql.Types) to be sent to the database. The scale argument may further qualify this type.
    `scale` - for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, this is the number of digits after the decimal point. For all other types, this value will be ignored.
  Throws:
    java.sql.SQLException - if a database access error occurs

### setObject

    public void setObject(int parameterIndex,
                          java.lang.Object x,
                          int type)
                   throws java.sql.SQLException

  Sets the value of the designated parameter with the given object. This method is like setObject above, except that it assumes a scale of zero.
  Specified by:
    setObject in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the object containing the input parameter value
    `targetSqlType` - the SQL type (as defined in java.sql.Types) to be sent to the database
  Throws:
    java.sql.SQLException - if a database access error occurs

### setObject

    public void setObject(int parameterIndex,
                          java.lang.Object x)
                   throws java.sql.SQLException

  Sets the value of a parameter using an object; use the java.lang equivalent objects for integral values.

  The JDBC specification specifies a standard mapping from Java Object types to SQL types. The given argument java object will be converted to the corresponding SQL type before being sent to the database.

  Note that this method may be used to pass datatabase- specific abstract data types, by using a Driver-specific Java type. If the object is of a class implementing SQLData, the JDBC driver should call its method `writeSQL` to write it to the SQL data stream. If, on the other hand, the object is of a class implementing Ref, Blob, Clob, Struct, or Array, then the driver should pass it to the database as a value of the corresponding SQL type. This method throws an exception if there is an ambiguity, for example, if the object is of a class implementing more than one of those interfaces.

  In HSQL Database Engine, this function checks if the object is of one of the Java SQL Types (Integer, String, Double,...) and if yes, the function will call the apropriate setXXX function. If an object should be inserted with data type 'Object' (OTHER), then the function setObject(i,x,Types.OTHER) should be called.

  Specified by:
    setObject in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the object containing the input parameter value
  Throws:
    java.sql.SQLException - if a database access error occurs

### execute

    public boolean execute()
                    throws java.sql.SQLException

  Executes any kind of SQL statement. Some prepared statements return multiple results; the execute method handles these complex statements as well as the simpler form of statements handled by executeQuery and executeUpdate.
  Specified by:
    execute in interface java.sql.PreparedStatement
  Throws:
    java.sql.SQLException - if a database access error occurs
  See Also:
    `Statement.execute(java.lang.String)`

### registerOutParameter

    public void registerOutParameter(int parameterIndex,
                                     int sqlType)
                              throws java.sql.SQLException

  Registers the OUT parameter in ordinal position `parameterIndex` to the JDBC type `sqlType`. All OUT parameters must be registered before a stored procedure is executed.

  The JDBC type specified by `sqlType` for an OUT parameter determines the Java type that must be used in the `get` method to read the value of that parameter.

  If the JDBC type expected to be returned to this output parameter is specific to this particular database, `sqlType` should be `java.sql.Types.OTHER`. The method `getObject(int)` retrieves the value.

  Specified by:
    registerOutParameter in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, and so on
    `sqlType` - the JDBC type code defined by `java.sql.Types`. If the parameter is of type Numeric or Decimal, the version of `registerOutParameter` that accepts a scale value should be used.
  Throws:
    java.sql.SQLException - if a database access error occurs

### registerOutParameter

    public void registerOutParameter(int parameterIndex,
                                     int sqlType,
                                     int scale)
                              throws java.sql.SQLException

  Registers the parameter in ordinal position `parameterIndex` to be of JDBC type `sqlType`. This method must be called before a stored procedure is executed.

  The JDBC type specified by `sqlType` for an OUT parameter determines the Java type that must be used in the `get` method to read the value of that parameter.

  This version of `registerOutParameter` should be used when the parameter is of JDBC type `NUMERIC` or `DECIMAL`.

  Specified by:
    registerOutParameter in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, and so on
    `sqlType` - SQL type code defined by `java.sql.Types`.
    `scale` - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
  Throws:
    java.sql.SQLException - if a database access error occurs

### wasNull

    public boolean wasNull()
                    throws java.sql.SQLException

  Indicates whether or not the last OUT parameter read had the value of SQL NULL. Note that this method should be called only after calling the `get` method; otherwise, there is no value to use in determining whether it is `null` or not.
  Specified by:
    wasNull in interface java.sql.CallableStatement
  Returns:
    `true` if the last parameter read was SQL NULL; `false` otherwise.
  Throws:
    java.sql.SQLException - if a database access error occurs

### getString

    public java.lang.String getString(int parameterIndex)
                               throws java.sql.SQLException

  Retrieves the value of a JDBC `CHAR`, `VARCHAR`, or `LONGVARCHAR` parameter as a `String` in the Java programming language.

  For the fixed-length type JDBC CHAR, the `String` object returned has exactly the same value the JDBC CHAR value had in the database, including any padding added by the database.

  Specified by:
    getString in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, and so on
  Returns:
    the parameter value. If the value is SQL NULL, the result is `null`.
  Throws:
    java.sql.SQLException - if a database access error occurs

### getBoolean

    public boolean getBoolean(int parameterIndex)
                       throws java.sql.SQLException

  Gets the value of a JDBC BIT parameter as a `boolean` in the Java programming language.
  Specified by:
    getBoolean in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, and so on
  Returns:
    the parameter value. If the value is SQL NULL, the result is `false`.
  Throws:
    java.sql.SQLException - if a database access error occurs

### getByte

    public byte getByte(int parameterIndex)
                 throws java.sql.SQLException

  Method declaration
  Specified by:
    getByte in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getShort

    public short getShort(int parameterIndex)
                   throws java.sql.SQLException

  Method declaration
  Specified by:
    getShort in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getInt

    public int getInt(int parameterIndex)
               throws java.sql.SQLException

  Method declaration
  Specified by:
    getInt in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getLong

    public long getLong(int parameterIndex)
                 throws java.sql.SQLException

  Method declaration
  Specified by:
    getLong in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getFloat

    public float getFloat(int parameterIndex)
                   throws java.sql.SQLException

  Method declaration
  Specified by:
    getFloat in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getDouble

    public double getDouble(int parameterIndex)
                     throws java.sql.SQLException

  Method declaration
  Specified by:
    getDouble in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getBigDecimal

    public java.math.BigDecimal getBigDecimal(int parameterIndex,
                                              int scale)
                                       throws java.sql.SQLException

  Method declaration
  Specified by:
    getBigDecimal in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
    `scale` -
  Returns:
  Throws:
    java.sql.SQLException -

### getBytes

    public byte[] getBytes(int parameterIndex)
                    throws java.sql.SQLException

  Method declaration
  Specified by:
    getBytes in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getDate

    public java.sql.Date getDate(int parameterIndex)
                          throws java.sql.SQLException

  Method declaration
  Specified by:
    getDate in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getTime

    public java.sql.Time getTime(int parameterIndex)
                          throws java.sql.SQLException

  Method declaration
  Specified by:
    getTime in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getTimestamp

    public java.sql.Timestamp getTimestamp(int parameterIndex)
                                    throws java.sql.SQLException

  Method declaration
  Specified by:
    getTimestamp in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getObject

    public java.lang.Object getObject(int parameterIndex)
                               throws java.sql.SQLException

  Method declaration
  Specified by:
    getObject in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getBigDecimal

    public java.math.BigDecimal getBigDecimal(int parameterIndex)
                                       throws java.sql.SQLException

  Method declaration
  Specified by:
    getBigDecimal in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
  Returns:
  Throws:
    java.sql.SQLException -

### getObject

    public java.lang.Object getObject(int i,
                                      java.util.Map map)
                               throws java.sql.SQLException

  Method declaration
  Specified by:
    getObject in interface java.sql.CallableStatement
  Parameters:
    `i` -
    `map` -
  Returns:
  Throws:
    java.sql.SQLException -

### getRef

    public java.sql.Ref getRef(int i)
                        throws java.sql.SQLException

  JDBC 2.0 Sets a REF(<structured-type>) parameter.
  Specified by:
    getRef in interface java.sql.CallableStatement
  Parameters:
    `i` - the first parameter is 1, the second is 2, ...
    `x` - an object representing data of an SQL REF Type
  Throws:
    java.sql.SQLException - if a database access error occurs

### getBlob

    public java.sql.Blob getBlob(int i)
                          throws java.sql.SQLException

  Method declaration
  Specified by:
    getBlob in interface java.sql.CallableStatement
  Parameters:
    `i` -
  Returns:
  Throws:
    java.sql.SQLException -

### getClob

    public java.sql.Clob getClob(int i)
                          throws java.sql.SQLException

  Method declaration
  Specified by:
    getClob in interface java.sql.CallableStatement
  Parameters:
    `i` -
  Returns:
  Throws:
    java.sql.SQLException -

### getArray

    public java.sql.Array getArray(int i)
                            throws java.sql.SQLException

  Method declaration
  Specified by:
    getArray in interface java.sql.CallableStatement
  Parameters:
    `i` -
  Returns:
  Throws:
    java.sql.SQLException -

### getDate

    public java.sql.Date getDate(int parameterIndex,
                                 java.util.Calendar cal)
                          throws java.sql.SQLException

  Method declaration
  Specified by:
    getDate in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
    `cal` -
  Returns:
  Throws:
    java.sql.SQLException -

### getTime

    public java.sql.Time getTime(int parameterIndex,
                                 java.util.Calendar cal)
                          throws java.sql.SQLException

  Method declaration
  Specified by:
    getTime in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
    `cal` -
  Returns:
  Throws:
    java.sql.SQLException -

### getTimestamp

    public java.sql.Timestamp getTimestamp(int parameterIndex,
                                           java.util.Calendar cal)
                                    throws java.sql.SQLException

  Method declaration
  Specified by:
    getTimestamp in interface java.sql.CallableStatement
  Parameters:
    `parameterIndex` -
    `cal` -
  Returns:
  Throws:
    java.sql.SQLException -

### registerOutParameter

    public void registerOutParameter(int paramIndex,
                                     int sqlType,
                                     java.lang.String typeName)
                              throws java.sql.SQLException

  Method declaration
  Specified by:
    registerOutParameter in interface java.sql.CallableStatement
  Parameters:
    `paramIndex` -
    `sqlType` -
    `typeName` -
  Throws:
    java.sql.SQLException -

### addBatch

    public void addBatch()
                  throws java.sql.SQLException

  JDBC 2.0 Adds a set of parameters to the batch.
  Specified by:
    addBatch in interface java.sql.PreparedStatement
  Throws:
    java.sql.SQLException - if a database access error occurs
  See Also:
    `Statement.addBatch(java.lang.String)`

### setDate

    public void setDate(int parameterIndex,
                        java.sql.Date x,
                        java.util.Calendar cal)
                 throws java.sql.SQLException

  JDBC 2.0 Sets the designated parameter to a java.sql.Date value, using the given `Calendar` object. The driver uses the `Calendar` object to construct an SQL DATE, which the driver then sends to the database. With a a `Calendar` object, the driver can calculate the date taking into account a custom timezone and locale. If no `Calendar` object is specified, the driver uses the default timezone and locale.
  Specified by:
    setDate in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
    `cal` - the `Calendar` object the driver will use to construct the date
  Throws:
    java.sql.SQLException - if a database access error occurs

### setTime

    public void setTime(int parameterIndex,
                        java.sql.Time x,
                        java.util.Calendar cal)
                 throws java.sql.SQLException

  JDBC 2.0 Sets the designated parameter to a java.sql.Time value, using the given `Calendar` object. The driver uses the `Calendar` object to construct an SQL TIME, which the driver then sends to the database. With a a `Calendar` object, the driver can calculate the time taking into account a custom timezone and locale. If no `Calendar` object is specified, the driver uses the default timezone and locale.
  Specified by:
    setTime in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
    `cal` - the `Calendar` object the driver will use to construct the time
  Throws:
    java.sql.SQLException - if a database access error occurs

### setTimestamp

    public void setTimestamp(int parameterIndex,
                             java.sql.Timestamp x,
                             java.util.Calendar cal)
                      throws java.sql.SQLException

  JDBC 2.0 Sets the designated parameter to a java.sql.Timestamp value, using the given `Calendar` object. The driver uses the `Calendar` object to construct an SQL TIMESTAMP, which the driver then sends to the database. With a a `Calendar` object, the driver can calculate the timestamp taking into account a custom timezone and locale. If no `Calendar` object is specified, the driver uses the default timezone and locale.
  Specified by:
    setTimestamp in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the parameter value
    `cal` - the `Calendar` object the driver will use to construct the timestamp
  Throws:
    java.sql.SQLException - if a database access error occurs

### setNull

    public void setNull(int parameterIndex,
                        int sqlType,
                        java.lang.String typeName)
                 throws java.sql.SQLException

  JDBC 2.0 Sets the designated parameter to SQL NULL. This version of setNull should be used for user-named types and REF type parameters. Examples of user-named types include: STRUCT, DISTINCT, JAVA_OBJECT, and named array types.

  Note: To be portable, applications must give the SQL type code and the fully-qualified SQL type name when specifying a NULL user-defined or REF parameter. In the case of a user-named type the name is the type name of the parameter itself. For a REF parameter the name is the type name of the referenced type. If a JDBC driver does not need the type code or type name information, it may ignore it. Although it is intended for user-named and Ref parameters, this method may be used to set a null parameter of any JDBC type. If the parameter does not have a user-named or REF type, the given typeName is ignored.

  Specified by:
    setNull in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `sqlType` - a value from java.sql.Types
    `typeName` - the fully-qualified name of an SQL user-named type, ignored if the parameter is not a user-named type or REF
  Throws:
    java.sql.SQLException - if a database access error occurs

### setCharacterStream

    public void setCharacterStream(int parameterIndex,
                                   java.io.Reader reader,
                                   int length)
                            throws java.sql.SQLException

  JDBC 2.0 Sets the designated parameter to the given `Reader` object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader. JDBC will read the data from the stream as needed, until it reaches end-of-file. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

  Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

  Specified by:
    setCharacterStream in interface java.sql.PreparedStatement
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `reader` - the java reader which contains the UNICODE data
    `length` - the number of characters in the stream
  Throws:
    java.sql.SQLException - if a database access error occurs

### setRef

    public void setRef(int i,
                       java.sql.Ref x)
                throws java.sql.SQLException

  JDBC 2.0 Sets a REF(<structured-type>) parameter.
  Specified by:
    setRef in interface java.sql.PreparedStatement
  Parameters:
    `i` - the first parameter is 1, the second is 2, ...
    `x` - an object representing data of an SQL REF Type
  Throws:
    java.sql.SQLException - if a database access error occurs

### setBlob

    public void setBlob(int i,
                        java.sql.Blob x)
                 throws java.sql.SQLException

  JDBC 2.0 Sets a BLOB parameter.
  Specified by:
    setBlob in interface java.sql.PreparedStatement
  Parameters:
    `i` - the first parameter is 1, the second is 2, ...
    `x` - an object representing a BLOB
  Throws:
    java.sql.SQLException - if a database access error occurs

### setClob

    public void setClob(int i,
                        java.sql.Clob x)
                 throws java.sql.SQLException

  JDBC 2.0 Sets a CLOB parameter.
  Specified by:
    setClob in interface java.sql.PreparedStatement
  Parameters:
    `i` - the first parameter is 1, the second is 2, ...
    `x` - an object representing a CLOB
  Throws:
    java.sql.SQLException - if a database access error occurs

### setArray

    public void setArray(int i,
                         java.sql.Array x)
                  throws java.sql.SQLException

  JDBC 2.0 Sets an Array parameter.
  Specified by:
    setArray in interface java.sql.PreparedStatement
  Parameters:
    `i` - the first parameter is 1, the second is 2, ...
    `x` - an object representing an SQL array
  Throws:
    java.sql.SQLException - if a database access error occurs

### getMetaData

    public java.sql.ResultSetMetaData getMetaData()
                                           throws java.sql.SQLException

  JDBC 2.0 Gets the number, types and properties of a ResultSet's columns.
  Specified by:
    getMetaData in interface java.sql.PreparedStatement
  Returns:
    the description of a ResultSet's columns
  Throws:
    java.sql.SQLException - if a database access error occurs

Package | Class | Tree | Deprecated
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD