Package org.firebirdsql.jdbc

## Class FBCallableStatement

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

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

    public class FBCallableStatement
    extends AbstractCallableStatement

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, Steven Jardine, 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.AbstractCallableStatement

`procedureCall, selectableProcedure`

### 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` `FBCallableStatement​(GDSHelper c, java.lang.String sql, int rsType, int rsConcurrency, int rsHoldability, StoredProcedureMetaData storedProcMetaData, FBObjectListener.StatementListener statementListener, FBObjectListener.BlobListener blobListener)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `registerOutParameter​(int parameterIndex, java.sql.SQLType sqlType)`
`void` `registerOutParameter​(int parameterIndex, java.sql.SQLType sqlType, int scale)`
`void` `registerOutParameter​(int parameterIndex, java.sql.SQLType sqlType, java.lang.String typeName)`
`void` `registerOutParameter​(java.lang.String parameterName, java.sql.SQLType sqlType)`
`void` `registerOutParameter​(java.lang.String parameterName, java.sql.SQLType sqlType, int scale)`
`void` `registerOutParameter​(java.lang.String parameterName, java.sql.SQLType sqlType, java.lang.String typeName)`

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

`addBatch, assertHasData, execute, executeBatchInternal, executeQuery, executeUpdate, findOutParameter, getAndAssertSingletonResultSet, getArray, getArray, getBigDecimal, getBigDecimal, getBigDecimal, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getCurrentResultSet, getDate, getDate, getDate, getDate, getDouble, getDouble, getFloat, getFloat, getGeneratedKeys, getInt, getInt, getLong, getLong, getMetaData, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getParameterMetaData, getRef, getRef, getResultSet, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getURL, getURL, internalExecute, isSelectableProcedure, prepareFixedStatement, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBlob, setBlob, setBlob, setBoolean, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClob, setClob, setClob, setDate, setDate, setDate, setDate, setDouble, setDouble, setFloat, setFloat, setInt, setInt, setLong, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setObject, setRequiredTypes, setRowId, setSelectableProcedure, setShort, setShort, setSQLXML, setString, setString, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setURL, wasNull`

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

`setObject, setObject`

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

`addBatch, clearBatch, clearParameters, completeStatement, execute, execute, execute, execute, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getExecutionPlan, getExplainedExecutionPlan, getField, getFirebirdParameterMetaData, getParameterDescriptor, getStatementType, isGeneratedKeyQuery, notifyStatementCompleted, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setRef, setRowId, setSQLXML, setStringForced, 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, getDeletedRowsCount, getFetchDirection, getFetchSize, getInsertedRowsCount, getLargeMaxRows, getLargeUpdateCount, getLastExecutionPlan, getLastExplainedExecutionPlan, getLocalStatementId, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, 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 java.sql.CallableStatement

`setObject, setObject`

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

`getExecutionPlan, getExplainedExecutionPlan, getStatementType`

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

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

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

`clearParameters, executeLargeUpdate, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setObject, setObject, setRef, setRowId, setSQLXML, setUnicodeStream, setURL`

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

`addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

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

`isWrapperFor, unwrap`

### Constructor Detail

#### FBCallableStatement

    protected FBCallableStatement​(GDSHelper c,
                                  java.lang.String sql,
                                  int rsType,
                                  int rsConcurrency,
                                  int rsHoldability,
                                  StoredProcedureMetaData storedProcMetaData,
                                  FBObjectListener.StatementListener statementListener,
                                  FBObjectListener.BlobListener blobListener)
                           throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

### Method Detail

#### registerOutParameter

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

Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(int, int)` called with `SQLType.getVendorTypeNumber()`.

Throws:
  `java.sql.SQLException`

#### registerOutParameter

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

Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(int, int, int)` called with `SQLType.getVendorTypeNumber()`.

Throws:
  `java.sql.SQLException`

#### registerOutParameter

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

Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(int, int, String)` called with `SQLType.getVendorTypeNumber()`.

Throws:
  `java.sql.SQLException`

#### registerOutParameter

    public void registerOutParameter​(java.lang.String parameterName,
                                     java.sql.SQLType sqlType)
                              throws java.sql.SQLException

Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(String, int)` called with `SQLType.getVendorTypeNumber()`.

Throws:
  `java.sql.SQLException`

#### registerOutParameter

    public void registerOutParameter​(java.lang.String parameterName,
                                     java.sql.SQLType sqlType,
                                     int scale)
                              throws java.sql.SQLException

Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(String, int, int)` called with `SQLType.getVendorTypeNumber()`.

Throws:
  `java.sql.SQLException`

#### registerOutParameter

    public void registerOutParameter​(java.lang.String parameterName,
                                     java.sql.SQLType sqlType,
                                     java.lang.String typeName)
                              throws java.sql.SQLException

Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(String, int, String)` called with `SQLType.getVendorTypeNumber()`.

Throws:
  `java.sql.SQLException`