org.firebirdsql.jdbc

## Class FBPreparedStatement

- java.lang.Object
- - org.firebirdsql.jdbc.FBStatement
  - - org.firebirdsql.jdbc.AbstractPreparedStatement
    - - org.firebirdsql.jdbc.FBPreparedStatement

All Implemented Interfaces:
  java.lang.AutoCloseable, java.sql.PreparedStatement, java.sql.Statement, java.sql.Wrapper, FirebirdPreparedStatement, FirebirdStatement, Synchronizable

Direct Known Subclasses:
  AbstractCallableStatement

    public class FBPreparedStatement
    extends AbstractPreparedStatement

JDBC 4.2 implementation of `PreparedStatement` interface.

Contains methods specific to the JDBC 4.2 implementation, or exists if there are methods in higher JDBC versions that cannot be defined in JDBC 4.2.

Author:
  David Jencks, Roman Rokytskyy, Mark Rotteveel

### Nested Class Summary

### Nested classes/interfaces inherited from class org.firebirdsql.jdbc.FBStatement

`FBStatement.StatementResult`

### Field Summary

### Fields inherited from class org.firebirdsql.jdbc.AbstractPreparedStatement

`batchList, METHOD_NOT_SUPPORTED`

### Fields inherited from class org.firebirdsql.jdbc.FBStatement

`completed, connection, currentStatementResult, fbStatement, fetchSize, firstWarning, gdsHelper, isSingletonResult, jdbcVersionSupport, maxRows, specialResult, statementListener`

### Fields inherited from interface org.firebirdsql.jdbc.FirebirdPreparedStatement

`TYPE_COMMIT, TYPE_DDL, TYPE_DELETE, TYPE_EXEC_PROCEDURE, TYPE_GET_SEGMENT, TYPE_INSERT, TYPE_PUT_SEGMENT, TYPE_ROLLBACK, TYPE_SELECT, TYPE_SELECT_FOR_UPDATE, TYPE_SET_GENERATOR, TYPE_START_TRANS, TYPE_UPDATE`

### 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

Constructors
`protected` `FBPreparedStatement(GDSHelper c, int rsType, int rsConcurrency, int rsHoldability, FBObjectListener.StatementListener statementListener, FBObjectListener.BlobListener blobListener)`
`protected` `FBPreparedStatement(GDSHelper c, java.lang.String sql, int rsType, int rsConcurrency, int rsHoldability, FBObjectListener.StatementListener statementListener, FBObjectListener.BlobListener blobListener, boolean metaDataQuery, boolean standaloneStatement, boolean generatedKeys)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `setObject(int parameterIndex, java.lang.Object x, java.sql.SQLType targetSqlType)`
`void` `setObject(int parameterIndex, java.lang.Object x, java.sql.SQLType targetSqlType, int scaleOrLength)`

### Methods inherited from class org.firebirdsql.jdbc.AbstractPreparedStatement

`addBatch, addBatch, clearBatch, clearParameters, completeStatement, execute, execute, execute, execute, execute, executeBatchInternal, executeLargeUpdate, executeQuery, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getExecutionPlan, getExplainedExecutionPlan, getField, getFirebirdParameterMetaData, getMetaData, getParameterDescriptor, getParameterMetaData, getStatementType, internalExecute, isGeneratedKeyQuery, notifyStatementCompleted, prepareFixedStatement, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setStringForced, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL`

### Methods inherited from class org.firebirdsql.jdbc.FBStatement

`addWarning, cancel, checkValidity, clearWarnings, close, closeOnCompletion, completeStatement, createStatementListener, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, equals, executeBatch, executeImpl, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, finalize, forgetResultSet, getConnection, getCurrentResultSet, getDeletedRowsCount, getFetchDirection, getFetchSize, getGeneratedKeys, getInsertedRowsCount, getLargeMaxRows, getLargeUpdateCount, getLastExecutionPlan, getLastExplainedExecutionPlan, getLocalStatementId, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getSynchronizationObject, getUpdateCount, getUpdatedRowsCount, getWarnings, hashCode, hasOpenResultSet, internalExecute, isClosed, isCloseOnCompletion, isExecuteProcedureStatement, isPoolable, isSimpleIdentifier, isValid, isWrapperFor, nativeSQL, notifyStatementCompleted, notifyStatementStarted, notifyStatementStarted, requireStatement, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, toArray, toLargeArray, unwrap`

### Methods inherited from class java.lang.Object

`clone, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.firebirdsql.jdbc.FirebirdStatement

`getCurrentResultSet, getDeletedRowsCount, getInsertedRowsCount, getLastExecutionPlan, getLastExplainedExecutionPlan, getLocalStatementId, getUpdatedRowsCount, hasOpenResultSet, isValid`

### Methods inherited from interface java.sql.Statement

`cancel, clearWarnings, close, closeOnCompletion, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

### Methods inherited from interface java.sql.Wrapper

`isWrapperFor, unwrap`

### Constructor Detail

#### FBPreparedStatement

    protected FBPreparedStatement(GDSHelper c,
                                  int rsType,
                                  int rsConcurrency,
                                  int rsHoldability,
                                  FBObjectListener.StatementListener statementListener,
                                  FBObjectListener.BlobListener blobListener)
                           throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### FBPreparedStatement

    protected FBPreparedStatement(GDSHelper c,
                                  java.lang.String sql,
                                  int rsType,
                                  int rsConcurrency,
                                  int rsHoldability,
                                  FBObjectListener.StatementListener statementListener,
                                  FBObjectListener.BlobListener blobListener,
                                  boolean metaDataQuery,
                                  boolean standaloneStatement,
                                  boolean generatedKeys)
                           throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

### Method Detail

#### setObject

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

Implementation note: behaves as `AbstractPreparedStatement.setObject(int, Object, int, int)` called with `SQLType.getVendorTypeNumber()`.

Throws:
  `java.sql.SQLException`

#### setObject

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

Implementation note: behaves as `AbstractPreparedStatement.setObject(int, Object, int)` called with `SQLType.getVendorTypeNumber()`.

Throws:
  `java.sql.SQLException`