IfmxCallableStatement
Date: 2015-03-03

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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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, 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, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setURL, wasNull`

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

      `addBatch, clearParameters, execute, 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, 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, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, 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.