com.informix.jdbc

## Interface IfmxCallableStatement

All Superinterfaces:
  java.lang.AutoCloseable, java.sql.CallableStatement, java.sql.PreparedStatement, java.sql.Statement, java.sql.Wrapper

    public interface IfmxCallableStatement
    extends java.sql.CallableStatement

The IfmxCallableStatement interface extends the java.sql.CallableStatement interface.

See Also:
  `Connection.prepareCall(java.lang.String)`, `ResultSet`

### Field Summary

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

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `hasOutParameter()` Returns true if the routine has an output parameter.
`void` `IfxRegisterOutParameter(int parameterIndex, int ifxType)` Registers the output parameter using type definitions in IfxTypes.
`void` `IfxRegisterOutParameter(int parameterIndex, int ifxType, int scale)` Use this version of IfxRegisterOutParameter for registering IFX_TYPE_DECIMAL, IFX_TYPE_DATETIME or IFX_TYPE_INTERVAL out parameters.
`void` `IfxRegisterOutParameter(int parameterIndex, int ifxType, java.lang.String name)` Registers the output parameter using IfxTypes and data type name.
`void` `IfxSetNull(int i, int ifxType)` Set a parameter to SQL NULL.
`void` `IfxSetNull(int i, int ifxType, java.lang.String name)` Set a parameter to SQL NULL.
`void` `setArray(int i, java.sql.Array x, java.lang.String collectionType)` Set an Array parameter.
`void` `setObject(int i, java.sql.Array x, java.lang.String collectionType)` Set an Object parameter.

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

`getArray, getArray, getBigDecimal, getBigDecimal, getBigDecimal, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getDate, getDate, getDate, getDate, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getLong, getLong, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getURL, getURL, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, 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, setObject, setObject, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setURL, wasNull`

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

`addBatch, clearParameters, execute, executeLargeUpdate, executeQuery, executeUpdate, getMetaData, getParameterMetaData, 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, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL`

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

`addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, 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`

### Method Detail

#### IfxRegisterOutParameter

    void IfxRegisterOutParameter(int parameterIndex,
                                 int ifxType)
                          throws java.sql.SQLException

Registers the output parameter using type definitions in IfxTypes.

Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2,...
  `ifxType` - type code defined by com.informix.IfxTypes for parameters of type Numeric, Decimal, Datetime or Interval use the version of IfxRegisterOutParameter that accepts a scale value
Throws:
  `java.sql.SQLException` - if there is no out parameter or if parameterIndex is greater than the number of arguments.
See Also:
  `IfxTypes`

#### IfxRegisterOutParameter

    void IfxRegisterOutParameter(int parameterIndex,
                                 int ifxType,
                                 java.lang.String name)
                          throws java.sql.SQLException

Registers the output parameter using IfxTypes and data type name.

Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2,...
  `ifxType` - type code defined by com.informix.IfxTypes for parameters of type Numeric, Decimal, Datetime or Interval use the version of IfxRegisterOutParameter that accepts a scale value
  `name` - Opaque type name, named row name, distinct type name or collection / unnamed row definition.
Throws:
  `java.sql.SQLException` - if there is no out parameter, if parameterIndex is greater than the number of arguments or if the type is not UDTVAR or UDTFIXED.
See Also:
  `IfxTypes`

#### IfxRegisterOutParameter

    void IfxRegisterOutParameter(int parameterIndex,
                                 int ifxType,
                                 int scale)
                          throws java.sql.SQLException

Use this version of IfxRegisterOutParameter for registering IFX_TYPE_DECIMAL, IFX_TYPE_DATETIME or IFX_TYPE_INTERVAL out parameters.

Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `ifxType` - use either com.informix.lang.IfxTypes.IFX_TYPE_DECIMAL, com.informix.lang.IfxTypes.IFX_TYPE_DATETIME or com.informix.lang.IfxTypes.IFX_TYPE_INTERVAL
  `scale` - a value greater than or equal to zero representing the desired number of digits to the right of the decimal point or the encoded length for datetime and intervals.
Throws:
  `java.sql.SQLException` - if there is no out parameter or if parameterIndex is greater than the number of arguments.
See Also:
  `IfxTypes`

#### hasOutParameter

    boolean hasOutParameter()

Returns true if the routine has an output parameter.

Returns:
  true if the routine has an output parameter.

#### IfxSetNull

    void IfxSetNull(int i,
                    int ifxType)
             throws java.sql.SQLException

Set a parameter to SQL NULL.

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

Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `ifxType` - Informix type code defined by com.informix.jdbc.IfxTypes
Throws:
  `java.sql.SQLException` - if parameterIndex is greater than the number of arguments.

#### IfxSetNull

    void IfxSetNull(int i,
                    int ifxType,
                    java.lang.String name)
             throws java.sql.SQLException

Set a parameter to SQL NULL.

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

Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `ifxType` - Informix type code defined by com.informix.jdbc.IfxTypes
  `name` - Opaque type name, named row name, distinct type name or collection / unnamed row definition.
Throws:
  `java.sql.SQLException` - if parameterIndex is greater than the number of arguments.

#### setArray

    void setArray(int i,
                  java.sql.Array x,
                  java.lang.String collectionType)
           throws java.sql.SQLException

Set an Array parameter. The collectionType is expected to be the collection type definition string: "set(int not null)". The server can't find the UDR if the parameter types don't match 100%.

Parameters:
  `i` - the first parameter is 1, the second is 2, ...
  `x` - an object representing an SQL array
  `collectionType` - Collection definition string
Throws:
  `java.sql.SQLException` - if parameterIndex is greater than the number of arguments or a conversion error occurs.
  `java.sql.SQLException` - if a database-access error occurs.

#### setObject

    void setObject(int i,
                   java.sql.Array x,
                   java.lang.String collectionType)
            throws java.sql.SQLException

Set an Object parameter. The collectionType is expected to be the collection definition: "set(int not null)". This isn't information needed for other data types. The server can't find the UDR if the parameter types don't match 100%.

Parameters:
  `i` - the first parameter is 1, the second is 2, ...
  `x` - an object representing an SQL array
  `collectionType` - Collection definition string
Throws:
  `java.sql.SQLException` - if parameterIndex is greater than the number of arguments or a conversion error occurs.
  `java.sql.SQLException` - if a database-access error occurs.