org.apache.derby.impl.jdbc
Class EmbedPreparedStatement

java.lang.Object
  extended byorg.apache.derby.impl.jdbc.ConnectionChild
      extended byorg.apache.derby.impl.jdbc.EmbedStatement
          extended byorg.apache.derby.impl.jdbc.EmbedPreparedStatement
All Implemented Interfaces:
java.sql.PreparedStatement, java.sql.Statement
Direct Known Subclasses:
EmbedCallableStatement, EmbedPreparedStatement169, EmbedPreparedStatement20

public abstract class EmbedPreparedStatement
extends EmbedStatement
implements java.sql.PreparedStatement

EmbedPreparedStatement is a local JDBC statement.

Supports


Field Summary
private  Activation activation
           
private  java.lang.String gcDuringGetMetaData
           
protected  PreparedStatement preparedStatement
           
protected  java.sql.ResultSetMetaData rMetaData
           
 
Fields inherited from class org.apache.derby.impl.jdbc.EmbedStatement
active, batchStatements, CLOSE, cursorName, factory, forMetaData, lcc, localConn, MaxFieldSize, maxRows, NOCLOSE, results, resultSetConcurrency, resultSetHoldability, resultSetType, SQLText, updateCount
 
Fields inherited from interface java.sql.Statement
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
 
Constructor Summary
EmbedPreparedStatement(EmbedConnection conn, java.lang.String sql, boolean forMetaData, int resultSetType, int resultSetConcurrency, int resultSetHoldability, int autoGeneratedKeys, int[] columnIndexes, java.lang.String[] columnNames)
           
 
Method Summary
 void addBatch()
          JDBC 2.0 Add a set of parameters to the batch.
 void addBatch(java.lang.String sql)
          JDBC 2.0 Adds a SQL command to the current batch of commmands for the statement.
 void clearParameters()
          In general, parameter values remain in force for repeated use of a Statement.
protected  void closeActions()
          Additional close to close our activation.
protected  java.sql.SQLException dataTypeConversion(int column, java.lang.String sourceType)
           
 boolean execute()
           
 boolean execute(java.lang.String sql)
          Execute a SQL statement that may return multiple results.
 boolean execute(java.lang.String sql, int autoGenKeys)
          JDBC 3.0 Executes the given SQL statement, which may return multiple results, and signals the driver that any auto-generated keys should be made available for retrieval.
 boolean execute(java.lang.String sql, int[] columnIndexes)
          JDBC 3.0 Executes the given SQL statement, which may return multiple results, and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval.
 boolean execute(java.lang.String sql, java.lang.String[] columnNames)
          JDBC 3.0 Executes the given SQL statement, which may return multiple results, and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval.
protected  boolean executeBatchElement(java.lang.Object batchElement)
          Execute a single element of the batch.
 java.sql.ResultSet executeQuery()
          A prepared SQL query is executed and its ResultSet is returned.
 java.sql.ResultSet executeQuery(java.lang.String sql)
          Execute a SQL statement that returns a single ResultSet.
protected  boolean executeStatement(Activation a, boolean executeQuery, boolean executeUpdate)
          Execute the current statement.
 int executeUpdate()
          Execute a SQL INSERT, UPDATE or DELETE statement.
 int executeUpdate(java.lang.String sql)
          Execute a SQL INSERT, UPDATE or DELETE statement.
 int executeUpdate(java.lang.String sql, int autoGenKeys)
          JDBC 3.0 Execute the given SQL statement and signals the driver with the given flag about whether the auto-generated keys produced by this Statement object should be made available for retrieval.
 int executeUpdate(java.lang.String sql, int[] columnIndexes)
          JDBC 3.0 Executes the given SQL statement and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval.
 int executeUpdate(java.lang.String sql, java.lang.String[] columnNames)
          JDBC 3.0 Executes the given SQL statement and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval.
protected  void finalize()
          JDBC states that a Statement is closed when garbage collected.
 EmbedParameterSetMetaData getEmbedParameterSetMetaData()
          Immitate the function in JDBC 3.0 Retrieves the number, types and properties of this PreparedStatement object's parameters.
 java.sql.ResultSetMetaData getMetaData()
          JDBC 2.0 The number, types and properties of a ResultSet's columns are provided by the getMetaData method.
protected  int getParameterJDBCType(int parameterIndex)
          Get the target JDBC type for a parameter.
 ParameterValueSet getParms()
          Get the ParameterValueSet from the activation
protected  DataTypeDescriptor[] getTypes(int parameterIndex)
          Check the parameterINdex is in range and return the array of type descriptors.
protected  EmbedResultSetMetaData newEmbedResultSetMetaData(ResultDescription resultDesc)
           
 void setAsciiStream(int parameterIndex, java.io.InputStream x, int length)
          We do this inefficiently and read it all in here.
 void setBinaryStream(int parameterIndex, java.io.InputStream x, int length)
           
protected  void setBinaryStreamInternal(int parameterIndex, java.io.InputStream x, int length)
           
 void setBlob(int i, java.sql.Blob x)
          JDBC 2.0 Set a BLOB parameter.
 void setBoolean(int parameterIndex, boolean x)
          Set a parameter to a Java boolean value.
 void setByte(int parameterIndex, byte x)
          Set a parameter to a Java byte value.
 void setBytes(int parameterIndex, byte[] x)
          Set a parameter to a Java array of bytes.
 void setCharacterStream(int parameterIndex, java.io.Reader reader, int length)
          JDBC 2.0 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.
protected  void setCharacterStreamInternal(int parameterIndex, java.io.Reader reader, int length)
           
 void setClob(int i, java.sql.Clob x)
          JDBC 2.0 Set a CLOB parameter.
 void setDate(int parameterIndex, java.sql.Date x)
          Set a parameter to a java.sql.Date value.
 void setDate(int parameterIndex, java.sql.Date x, java.util.Calendar cal)
          Set a parameter to a java.sql.Date value.
 void setDouble(int parameterIndex, double x)
          Set a parameter to a Java double value.
 void setFloat(int parameterIndex, float x)
          Set a parameter to a Java float value.
 void setInt(int parameterIndex, int x)
          Set a parameter to a Java int value.
 void setLong(int parameterIndex, long x)
          Set a parameter to a Java long value.
 void setNull(int parameterIndex, int sqlType)
          Set a parameter to SQL NULL.
 void setNull(int paramIndex, int sqlType, java.lang.String typeName)
          JDBC 2.0 Set null for user-named types and REF type parameters
 void setObject(int parameterIndex, java.lang.Object x)
          Set 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 targetSqlType)
          This method is like setObject above, but assumes a scale of zero.
 void setObject(int parameterIndex, java.lang.Object x, int targetSqlType, int scale)
          The interface says that the type of the Object parameter must be compatible with the type of the targetSqlType.
(package private)  boolean setObjectConvert(int parameterIndex, java.lang.Object x)
          Allow explict setObject conversions by sub-classes for classes not supported by this variant.
private  void setScale(int parameterIndex, int scale)
          Set the scale of a parameter.
 void setShort(int parameterIndex, short x)
          Set a parameter to a Java short value.
 void setString(int parameterIndex, java.lang.String x)
          Set a parameter to a Java String value.
 void setTime(int parameterIndex, java.sql.Time x)
          Set a parameter to a java.sql.Time value.
 void setTime(int parameterIndex, java.sql.Time x, java.util.Calendar cal)
          Set a parameter to a java.sql.Time value.
 void setTimestamp(int parameterIndex, java.sql.Timestamp x)
          Set a parameter to a java.sql.Timestamp value.
 void setTimestamp(int parameterIndex, java.sql.Timestamp x, java.util.Calendar cal)
          Set a parameter to a java.sql.Timestamp value.
 void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length)
          Deprecated in JDBC 3.0
 void setURL(int parameterIndex, java.net.URL x)
          JDBC 3.0 Sets the designated parameter to the given java.net.URL value.
 java.lang.String toString()
           
 void transferParameters(EmbedPreparedStatement newStatement)
           
 
Methods inherited from class org.apache.derby.impl.jdbc.EmbedStatement
cancel, checkExecStatus, checkIfInMiddleOfBatch, checkRequiresCallableStatement, checkStatus, clearBatch, clearResultSets, clearWarnings, close, commitIfAutoCommit, commitIfNeeded, execute, executeBatch, getCal, getConnection, getConnectionSynchronization, getContextManager, getDatabase, getEmbedConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getParameterValueSet, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getSQLText, getUpdateCount, getWarnings, getWarnings, handleException, handleException, needCommit, newSQLException, newSQLException, newSQLException, restoreContextStack, resultSetClosing, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setQueryTimeout, setupContextStack, transferBatch
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.sql.PreparedStatement
getParameterMetaData, setArray, setBigDecimal, setRef
 
Methods inherited from interface java.sql.Statement
cancel, clearBatch, clearWarnings, close, executeBatch, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setQueryTimeout
 

Field Detail

rMetaData

protected java.sql.ResultSetMetaData rMetaData

gcDuringGetMetaData

private java.lang.String gcDuringGetMetaData

preparedStatement

protected PreparedStatement preparedStatement

activation

private Activation activation
Constructor Detail

EmbedPreparedStatement

public EmbedPreparedStatement(EmbedConnection conn,
                              java.lang.String sql,
                              boolean forMetaData,
                              int resultSetType,
                              int resultSetConcurrency,
                              int resultSetHoldability,
                              int autoGeneratedKeys,
                              int[] columnIndexes,
                              java.lang.String[] columnNames)
                       throws java.sql.SQLException
Method Detail

finalize

protected void finalize()
                 throws java.lang.Throwable
JDBC states that a Statement is closed when garbage collected.

Throws:
java.lang.Throwable - Allows any exception to be thrown during finalize

execute

public final boolean execute(java.lang.String sql)
                      throws java.sql.SQLException
Description copied from class: EmbedStatement
Execute a SQL statement that may return multiple results. Under some (uncommon) situations a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this, unless you're executing a stored procedure that you know may return multiple results, or unless you're dynamically executing an unknown SQL string. The "execute", "getMoreResults", "getResultSet" and "getUpdateCount" methods let you navigate through multiple results. The "execute" method executes a SQL statement and indicates the form of the first result. You can then use getResultSet or getUpdateCount to retrieve the result, and getMoreResults to move to any subsequent result(s).

Specified by:
execute in interface java.sql.Statement
Overrides:
execute in class EmbedStatement
Parameters:
sql - any SQL statement
Returns:
true if the first result is a ResultSet; false if it is an integer
Throws:
java.sql.SQLException - thrown on failure
See Also:
EmbedStatement.getResultSet(), EmbedStatement.getUpdateCount(), EmbedStatement.getMoreResults()

execute

public final boolean execute(java.lang.String sql,
                             int autoGenKeys)
                      throws java.sql.SQLException
Description copied from class: EmbedStatement
JDBC 3.0 Executes the given SQL statement, which may return multiple results, and signals the driver that any auto-generated keys should be made available for retrieval. The driver will ignore this signal if the SQL statement is not an INSERT statement.

Specified by:
execute in interface java.sql.Statement
Overrides:
execute in class EmbedStatement
Parameters:
sql - any SQL statement
autoGenKeys - - a constant indicating whether auto-generated keys should be made available for retrieval using the method getGeneratedKeys; one of the following constants: Statement.RETURN_GENERATED_KEYS or Statement.NO_GENERATED_KEYS
Returns:
rue if the first result is a ResultSet object; false if it is an update count or there are no results
Throws:
java.sql.SQLException - if a database access error occurs

execute

public final boolean execute(java.lang.String sql,
                             int[] columnIndexes)
                      throws java.sql.SQLException
Description copied from class: EmbedStatement
JDBC 3.0 Executes the given SQL statement, which may return multiple results, and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval. This array contains the indexes of the columns in the target table that contain the auto-generated keys that should be made available. The driver will ignore the array if the given SQL statement is not an INSERT statement.

Specified by:
execute in interface java.sql.Statement
Overrides:
execute in class EmbedStatement
Parameters:
sql - any SQL statement
columnIndexes - - an array of the indexes of the columns in the inserted row that should be made available for retrieval by a call to the method getGeneratedKeys
Returns:
rue if the first result is a ResultSet object; false if it is an update count or there are no results
Throws:
java.sql.SQLException - if a database access error occurs

execute

public final boolean execute(java.lang.String sql,
                             java.lang.String[] columnNames)
                      throws java.sql.SQLException
Description copied from class: EmbedStatement
JDBC 3.0 Executes the given SQL statement, which may return multiple results, and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval. This array contains the names of the columns in the target table that contain the auto-generated keys that should be made available. The driver will ignore the array if the given SQL statement is not an INSERT statement.

Specified by:
execute in interface java.sql.Statement
Overrides:
execute in class EmbedStatement
Parameters:
sql - any SQL statement
columnNames - - an array of the names of the columns in the inserted row that should be made available for retrieval by a call to the method getGeneratedKeys
Returns:
rue if the first result is a ResultSet object; false if it is an update count or there are no results
Throws:
java.sql.SQLException - if a database access error occurs

executeQuery

public final java.sql.ResultSet executeQuery(java.lang.String sql)
                                      throws java.sql.SQLException
Description copied from class: EmbedStatement
Execute a SQL statement that returns a single ResultSet.

Specified by:
executeQuery in interface java.sql.Statement
Overrides:
executeQuery in class EmbedStatement
Parameters:
sql - typically this is a static SQL SELECT statement
Returns:
a ResultSet that contains the data produced by the query; never null
Throws:
java.sql.SQLException - thrown on failure.

executeUpdate

public final int executeUpdate(java.lang.String sql)
                        throws java.sql.SQLException
Description copied from class: EmbedStatement
Execute a SQL INSERT, UPDATE or DELETE statement. In addition, SQL statements that return nothing such as SQL DDL statements can be executed.

Specified by:
executeUpdate in interface java.sql.Statement
Overrides:
executeUpdate in class EmbedStatement
Parameters:
sql - a SQL INSERT, UPDATE or DELETE statement or a SQL statement that returns nothing
Returns:
either the row count for INSERT, UPDATE or DELETE; or 0 for SQL statements that return nothing
Throws:
java.sql.SQLException - thrown on failure.

executeUpdate

public final int executeUpdate(java.lang.String sql,
                               int autoGenKeys)
                        throws java.sql.SQLException
Description copied from class: EmbedStatement
JDBC 3.0 Execute the given SQL statement and signals the driver with the given flag about whether the auto-generated keys produced by this Statement object should be made available for retrieval.

Specified by:
executeUpdate in interface java.sql.Statement
Overrides:
executeUpdate in class EmbedStatement
Parameters:
sql - a SQL INSERT, UPDATE or DELETE statement or a SQL statement that returns nothing
autoGenKeys - - a flag indicating whether auto-generated keys should be made available for retrieval; one of the following constants: Statement.RETURN_GENERATED_KEYS Statement.NO_GENERATED_KEYS
Returns:
either the row count for INSERT, UPDATE or DELETE; or 0 for SQL statements that return nothing
Throws:
java.sql.SQLException - if a database access error occurs

executeUpdate

public final int executeUpdate(java.lang.String sql,
                               int[] columnIndexes)
                        throws java.sql.SQLException
Description copied from class: EmbedStatement
JDBC 3.0 Executes the given SQL statement and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval. The driver will ignore the array if the SQL statement is not an INSERT statement

Specified by:
executeUpdate in interface java.sql.Statement
Overrides:
executeUpdate in class EmbedStatement
Parameters:
sql - a SQL INSERT, UPDATE or DELETE statement or a SQL statement that returns nothing
columnIndexes - - an array of column indexes indicating the columns that should be returned from the inserted row
Returns:
either the row count for INSERT, UPDATE or DELETE; or 0 for SQL statements that return nothing
Throws:
java.sql.SQLException - if a database access error occurs

executeUpdate

public final int executeUpdate(java.lang.String sql,
                               java.lang.String[] columnNames)
                        throws java.sql.SQLException
Description copied from class: EmbedStatement
JDBC 3.0 Executes the given SQL statement and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval. The driver will ignore the array if the SQL statement is not an INSERT statement

Specified by:
executeUpdate in interface java.sql.Statement
Overrides:
executeUpdate in class EmbedStatement
Parameters:
sql - a SQL INSERT, UPDATE or DELETE statement or a SQL statement that returns nothing
columnNames - - an array of the names of the columns that should be returned from the inserted row
Returns:
either the row count for INSERT, UPDATE or DELETE; or 0 for SQL statements that return nothing
Throws:
java.sql.SQLException - if a database access error occurs

addBatch

public final void addBatch(java.lang.String sql)
                    throws java.sql.SQLException
Description copied from class: EmbedStatement
JDBC 2.0 Adds a SQL command to the current batch of commmands for the statement. This method is optional.

Specified by:
addBatch in interface java.sql.Statement
Overrides:
addBatch in class EmbedStatement
Parameters:
sql - typically this is a static SQL INSERT or UPDATE statement
Throws:
java.sql.SQLException - if a database-access error occurs, or the driver does not support batch statements

closeActions

protected void closeActions()
                     throws java.sql.SQLException
Additional close to close our activation.

Overrides:
closeActions in class EmbedStatement
Throws:
java.sql.SQLException - thrown on failure

executeQuery

public final java.sql.ResultSet executeQuery()
                                      throws java.sql.SQLException
A prepared SQL query is executed and its ResultSet is returned.

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 - thrown on failure.

executeUpdate

public final int executeUpdate()
                        throws java.sql.SQLException
Execute a SQL INSERT, UPDATE or DELETE statement. 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; or 0 for SQL statements that return nothing
Throws:
java.sql.SQLException - thrown on failure.

setNull

public void setNull(int parameterIndex,
                    int sqlType)
             throws java.sql.SQLException
Set a 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 - SQL type code defined by java.sql.Types
Throws:
java.sql.SQLException - thrown on failure.

setBoolean

public void setBoolean(int parameterIndex,
                       boolean x)
                throws java.sql.SQLException
Set a parameter to a Java boolean value. According to the JDBC API spec, the driver converts this to a SQL BIT value when it sends it to the database. But we don't have to do this, since the database engine supports a boolean type.

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 - thrown on failure.

setByte

public void setByte(int parameterIndex,
                    byte x)
             throws java.sql.SQLException
Set a parameter to a Java byte value. The driver converts this to a 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 - thrown on failure.

setShort

public void setShort(int parameterIndex,
                     short x)
              throws java.sql.SQLException
Set a parameter to a Java short value. The driver converts this to a 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 - thrown on failure.

setInt

public void setInt(int parameterIndex,
                   int x)
            throws java.sql.SQLException
Set a parameter to a Java int value. The driver converts this to a 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 - thrown on failure.

setLong

public void setLong(int parameterIndex,
                    long x)
             throws java.sql.SQLException
Set a parameter to a Java long value. The driver converts this to a 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 - thrown on failure.

setFloat

public void setFloat(int parameterIndex,
                     float x)
              throws java.sql.SQLException
Set a parameter to a Java float value. The driver converts this to a 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 - thrown on failure.

setDouble

public void setDouble(int parameterIndex,
                      double x)
               throws java.sql.SQLException
Set a parameter to a Java double value. The driver converts this to a 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 - thrown on failure.

setString

public void setString(int parameterIndex,
                      java.lang.String x)
               throws java.sql.SQLException
Set a parameter to a Java String value. The driver converts this to a SQL VARCHAR or LONGVARCHAR value (depending on the arguments 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 - thrown on failure.

setBytes

public void setBytes(int parameterIndex,
                     byte[] x)
              throws java.sql.SQLException
Set a parameter to a Java array of bytes. The driver converts this to a 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 - thrown on failure.

setDate

public void setDate(int parameterIndex,
                    java.sql.Date x)
             throws java.sql.SQLException
Set a parameter to a java.sql.Date value. The driver converts this to a 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 - thrown on failure.

setTime

public void setTime(int parameterIndex,
                    java.sql.Time x)
             throws java.sql.SQLException
Set a parameter to a java.sql.Time value. The driver converts this to a 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 - thrown on failure.

setTimestamp

public void setTimestamp(int parameterIndex,
                         java.sql.Timestamp x)
                  throws java.sql.SQLException
Set a parameter to a java.sql.Timestamp value. The driver converts this to a 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 - thrown on failure.

setAsciiStream

public final void setAsciiStream(int parameterIndex,
                                 java.io.InputStream x,
                                 int length)
                          throws java.sql.SQLException
We do this inefficiently and read it all in here. The target type is assumed to be a String.

Specified by:
setAsciiStream in interface java.sql.PreparedStatement
Parameters:
parameterIndex - the first parameter is 1, the second is 2, ...
x - the java input stream which contains the ASCII parameter value
length - the number of bytes in the stream
Throws:
java.sql.SQLException - thrown on failure.

setUnicodeStream

public void setUnicodeStream(int parameterIndex,
                             java.io.InputStream x,
                             int length)
                      throws java.sql.SQLException
Deprecated in JDBC 3.0

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 - thrown on failure.

setCharacterStream

public final void setCharacterStream(int parameterIndex,
                                     java.io.Reader reader,
                                     int length)
                              throws java.sql.SQLException
JDBC 2.0 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, ...
length - the number of characters in the stream
Throws:
java.sql.SQLException - if a database-access error occurs.

setCharacterStreamInternal

protected void setCharacterStreamInternal(int parameterIndex,
                                          java.io.Reader reader,
                                          int length)
                                   throws java.sql.SQLException
Throws:
java.sql.SQLException

setBinaryStream

public final void setBinaryStream(int parameterIndex,
                                  java.io.InputStream x,
                                  int length)
                           throws java.sql.SQLException
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 - thrown on failure.

setBinaryStreamInternal

protected void setBinaryStreamInternal(int parameterIndex,
                                       java.io.InputStream x,
                                       int length)
                                throws java.sql.SQLException
Throws:
java.sql.SQLException

setNull

public void setNull(int paramIndex,
                    int sqlType,
                    java.lang.String typeName)
             throws java.sql.SQLException
JDBC 2.0 Set null for user-named types and REF type parameters

Specified by:
setNull in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException - if a database-access error occurs.

addBatch

public void addBatch()
              throws java.sql.SQLException
JDBC 2.0 Add 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.

executeBatchElement

protected boolean executeBatchElement(java.lang.Object batchElement)
                               throws java.sql.SQLException,
                                      StandardException
Description copied from class: EmbedStatement
Execute a single element of the batch. Overridden by EmbedPreparedStatement

Overrides:
executeBatchElement in class EmbedStatement
Throws:
java.sql.SQLException
StandardException

clearParameters

public void clearParameters()
                     throws java.sql.SQLException

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
Throws:
java.sql.SQLException - thrown on failure.

getMetaData

public java.sql.ResultSetMetaData getMetaData()
                                       throws java.sql.SQLException
JDBC 2.0 The number, types and properties of a ResultSet's columns are provided by the getMetaData method.

Specified by:
getMetaData in interface java.sql.PreparedStatement
Returns:
the description of a ResultSet's columns
Throws:
java.sql.SQLException - Feature not implemented for now.

setObject

public final void setObject(int parameterIndex,
                            java.lang.Object x,
                            int targetSqlType,
                            int scale)
                     throws java.sql.SQLException
The interface says that the type of the Object parameter must be compatible with the type of the targetSqlType. We check that, and if it flies, we expect the underlying engine to do the required conversion once we pass in the value using its type. So, an Integer converting to a CHAR is done via setInteger() support on the underlying CHAR type.

If x is null, it won't tell us its type, so we pass it on to setNull

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. For all other types this value will be ignored,
Throws:
java.sql.SQLException - thrown on failure.

setObject

public final void setObject(int parameterIndex,
                            java.lang.Object x,
                            int targetSqlType)
                     throws java.sql.SQLException
This method is like setObject above, but assumes a scale of zero.

Specified by:
setObject in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException - thrown on failure.

setObject

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

Set 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.

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 - thrown on failure.

setObjectConvert

boolean setObjectConvert(int parameterIndex,
                         java.lang.Object x)
                   throws java.sql.SQLException
Allow explict setObject conversions by sub-classes for classes not supported by this variant. E.g. BigDecimal This top-level implementation always returns false.

Returns:
true if the object was set successfully, false if no valid conversion exists.
Throws:
java.sql.SQLException - value could not be set.

execute

public final boolean execute()
                      throws java.sql.SQLException
Specified by:
execute in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException - thrown on failure.
See Also:
Statement.execute(java.lang.String)

setDate

public final void setDate(int parameterIndex,
                          java.sql.Date x,
                          java.util.Calendar cal)
                   throws java.sql.SQLException
Set a parameter to a java.sql.Date value. The driver converts this to a 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 - Feature not implemented for now.

setTime

public final void setTime(int parameterIndex,
                          java.sql.Time x,
                          java.util.Calendar cal)
                   throws java.sql.SQLException
Set a parameter to a java.sql.Time value. The driver converts this to a 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 - Feature not implemented for now.

setTimestamp

public final void setTimestamp(int parameterIndex,
                               java.sql.Timestamp x,
                               java.util.Calendar cal)
                        throws java.sql.SQLException
Set a parameter to a java.sql.Timestamp value. The driver converts this to a 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 - Feature not implemented for now.

setBlob

public void setBlob(int i,
                    java.sql.Blob x)
             throws java.sql.SQLException
JDBC 2.0 Set 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

setClob

public void setClob(int i,
                    java.sql.Clob x)
             throws java.sql.SQLException
JDBC 2.0 Set 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

getParms

public final ParameterValueSet getParms()
Get the ParameterValueSet from the activation

Returns:
The ParameterValueSet for the activation

getTypes

protected final DataTypeDescriptor[] getTypes(int parameterIndex)
                                       throws java.sql.SQLException
Check the parameterINdex is in range and return the array of type descriptors.

Throws:
java.sql.SQLException - parameter is out of range

getParameterJDBCType

protected int getParameterJDBCType(int parameterIndex)
                            throws java.sql.SQLException
Get the target JDBC type for a parameter. Will throw exceptions if the parameter index is out of range

Throws:
java.sql.SQLException - parameter is out of range

setScale

private void setScale(int parameterIndex,
                      int scale)
               throws java.sql.SQLException
Set the scale of a parameter.

Parameters:
parameterIndex - The first parameter is 1, the second is 2, ...
scale - The scale
Throws:
java.sql.SQLException - thrown on failure.

getEmbedParameterSetMetaData

public EmbedParameterSetMetaData getEmbedParameterSetMetaData()
                                                       throws java.sql.SQLException
Immitate the function in JDBC 3.0 Retrieves the number, types and properties of this PreparedStatement object's parameters.

Returns:
a EmbedParameterSetMetaData object that contains information about the number, types and properties of this PreparedStatement object's parameters.
Throws:
java.sql.SQLException - if a database access error occurs

setURL

public final void setURL(int parameterIndex,
                         java.net.URL x)
                  throws java.sql.SQLException
JDBC 3.0 Sets the designated parameter to the given java.net.URL value. The driver converts this to an SQL DATALINK value when it sends it to the database.

Specified by:
setURL in interface java.sql.PreparedStatement
Parameters:
parameterIndex - - the first parameter is 1, the second is 2, ...
x - - the java.net.URL object to be set
Throws:
java.sql.SQLException - Feature not implemented for now.

newEmbedResultSetMetaData

protected EmbedResultSetMetaData newEmbedResultSetMetaData(ResultDescription resultDesc)

toString

public java.lang.String toString()

transferParameters

public void transferParameters(EmbedPreparedStatement newStatement)
                        throws java.sql.SQLException
Throws:
java.sql.SQLException

executeStatement

protected boolean executeStatement(Activation a,
                                   boolean executeQuery,
                                   boolean executeUpdate)
                            throws java.sql.SQLException
Description copied from class: EmbedStatement
Execute the current statement.

Overrides:
executeStatement in class EmbedStatement
Throws:
java.sql.SQLException - thrown on failure.

dataTypeConversion

protected final java.sql.SQLException dataTypeConversion(int column,
                                                         java.lang.String sourceType)
                                                  throws java.sql.SQLException
Throws:
java.sql.SQLException

Built on Tue 2006-10-10 19:23:47+0200, from revision exported

Apache Derby V10.1 Engine Documentation - Copyright © 1997,2005 The Apache Software Foundation or its licensors, as applicable.