com.informix.jdbc

## Class IfxPreparedStatement

- java.lang.Object
- - com.informix.jdbc.IfxStatement
  - - com.informix.jdbc.IfxPreparedStatement

All Implemented Interfaces:
  IfmxPreparedStatement, IfmxStatement, PreparedStatement2, java.lang.AutoCloseable, java.sql.PreparedStatement, java.sql.Statement, java.sql.Wrapper

Direct Known Subclasses:
  IfxCallableStatement

    public class IfxPreparedStatement
    extends IfxStatement
    implements IfmxPreparedStatement, PreparedStatement2

A SQL statement is pre-compiled and stored in a PreparedStatement object. This object can then be used to efficiently execute this statement multiple times.

Note: The setXXX methods for setting IN parameter values must specify types that are compatible with the defined SQL type of the input parameter. For instance, if the IN parameter has SQL type Integer then setInt should be used.

If arbitrary parameter type conversions are required then the setObject method should be used with a target SQL type.

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

### Field Summary

Fields
`protected long` `namedCalls`
`protected long` `ordinalCalls`
`protected java.util.Vector<IfxObject>` `vector`

### Fields inherited from class com.informix.jdbc.IfxStatement

`BatchParamVector, BatchVector, Closed, commandString, currentResult, cursorOpen, executeBatchInProgress, jconn, numqmarks, outputMetaData, pool, poolable, prot, SGK_ALL_KEYS, SGK_indexes, SGK_KEYS_BY_INDEX, SGK_KEYS_BY_NAME, SGK_metaData, SGK_names, SGK_NO_KEYS, SGK_resultSet, statementType`

### 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
`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.
`protected boolean` `ambiguousSQLType(int sqltype)`
`protected void` `checkParameterIndex(int i, int qmarks)`
`void` `clearBatch()` JDBC 2.0 Make the set of commands in the current batch empty.
`void` `clearBindColType()` Reset the values set by calling setBindColType()
`void` `clearParameters()` In general parameter values remain in force for repeated use of a Statement.
`void` `close()` In many cases, it is desirable to immediately release a Statements's database and JDBC resources instead of waiting for this to happen when it is automatically closed; the close method provides this immediate release.
`void` `closeCursor()` Will issue SQ_CLOSE with currently active statement id, resulting in database releasing the lock on currently active cursor.
`boolean` `execute()` Some prepared statements return multiple results; the execute method handles these complex statements as well as the simpler form of statements handled by executeQuery and executeUpdate.
`boolean` `execute(java.lang.String sql)` Execute a SQL statement that may return multiple results.
`boolean` `execute(java.lang.String sql, int returnKeys)`
`boolean` `execute(java.lang.String sql, int[] columnIndexes)`
`boolean` `execute(java.lang.String sql, java.lang.String[] columnNames)`
`int[]` `executeBatch()` JDBC 2.0 Submit a batch of commands to the database for execution.
`java.sql.ResultSet` `executeQuery()` A prepared SQL query is executed and its ResultSet is returned.
`java.sql.ResultSet` `executeQuery(boolean withHold)` A prepared SQL query is executed and its ResultSet is returned.
`java.sql.ResultSet` `executeQuery(boolean withHold, boolean withReOptimization)` An Informix executeQuery() extension to specify whether the result should be a HOLD ResultSet (cursor) or not and if the query plan should be reoptimized if the data for the preparedstatement object has changed.
`java.sql.ResultSet` `executeQuery(java.lang.String sql)` Execute a SQL statement that returns a single ResultSet.
`java.sql.ResultSet` `executeQuery(java.lang.String sql, boolean withhold)` Execute a SQL statement that returns a single ResultSet.
`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 returnKeys)` Execute a SQL INSERT, UPDATE or DELETE statement.
`int` `executeUpdate(java.lang.String sql, int[] columnIndexes)` Execute a SQL INSERT, UPDATE or DELETE statement.
`int` `executeUpdate(java.lang.String sql, java.lang.String[] columnNames)` Execute a SQL INSERT, UPDATE or DELETE statement.
`java.sql.ResultSetMetaData` `getMetaData()` The number, types and properties of a ResultSet's columns are provided by the getMetaData method.
`java.sql.ParameterMetaData` `getParameterMetaData()`
`protected java.sql.ParameterMetaData` `getParameterMetaData(java.lang.String signature, boolean isProc, java.lang.String procName, int numParams)`
`IfxProtocol` `getResultSetProtocol()` Returns the Protocol object created by the currentResult variable for Connected RowSets.
`void` `IfxSetObject(int i, java.lang.Object x, int ifxType)` This method is the same as the setObject() method with the exception that the driver will convert the object to the given ifxtype when sending to the database.
`void` `IfxSetObject(int i, java.lang.Object x, int scale, int ifxType)` This method is the same as the setObject() method with the exception that the driver will convert the object to the given ifxtype when sending to the database.
`boolean` `isWrapperFor(java.lang.Class<?> iface)`
`void` `setArray(int i, java.sql.Array x)` JDBC 2.0 Set an Array parameter.
`void` `setArray(int i, java.sql.Array x, int ifxType)` JDBC 2.0 Set an Array parameter.
`protected void` `setArray(int i, java.sql.Array x, java.lang.String collectionType)` Set an Array parameter.
`void` `setAsciiStream(int parameterIndex, java.io.InputStream x)`
`void` `setAsciiStream(int parameterIndex, java.io.InputStream x, int length)` When a very large ASCII value is input to a LONGVARCHAR parameter it may be more practical to send it via a java.io.InputStream.
`void` `setAsciiStream(int i, java.io.InputStream x, int length, int ifxType)` When a very large ASCII value is input to a LONGVARCHAR parameter it may be more practical to send it via a java.io.InputStream.
`void` `setAsciiStream(int parameterIndex, java.io.InputStream x, long length)`
`void` `setBigDecimal(int i, java.math.BigDecimal x)` Set a parameter to a java.lang.BigDecimal value.
`void` `setBigDecimal(int i, java.math.BigDecimal x, int ifxType)` Set a parameter to a java.lang.BigDecimal value.
`void` `setBinaryStream(int parameterIndex, java.io.InputStream x)`
`void` `setBinaryStream(int paramterIndex, java.io.InputStream x, int length)` When a very large binary value is input to a LONGVARBINARY parameter it may be more practical to send it via a java.io.InputStream.
`void` `setBinaryStream(int i, java.io.InputStream x, int length, int ifxType)` When a very large binary value is input to a LONGVARBINARY parameter it may be more practical to send it via a java.io.InputStream.
`void` `setBinaryStream(int parameterIndex, java.io.InputStream x, long length)`
`void` `setBindColIfxType(int colIndex, int ifxtype)` Similar to setBindColType(), but used when application wants to use Informix SQL types in it's parameter call.
`void` `setBindColIfxType(int colIndex, int ifxtype, int scale)` Allows applications to specify the output type to be IFX_TYPE_DECIMAL, IFX_TYPE_MONEY so that the server can cast to that type before returning to the client.
`void` `setBindColIfxType(int colIndex, int ifxtype, java.lang.String name)` Allows applications to specify the output type to be IFX_TYPE_LIST, IFX_TYPE_ROW, IFX_TYPE_MULTISET, IFX_TYPE_SET, IFX_TYPE_UDTVAR, IFX_TYPE_UDTFIXED so that the server can cast to that type before returning to the client.
`void` `setBindColType(int colIndex, int sqltype)` Allows applications to specify the output type of the resultset values so that the server can cast to that type before returning to the client.
`void` `setBindColType(int colIndex, int sqltype, int scale)` Allows applications to specify the output type to be java.sql.DECIMAL or java.sql.NUMERIC, so that the server can cast to that type before returning to the client.
`void` `setBindColType(int colIndex, int sqltype, java.lang.String name)` Allows applications to specify the output type to be java.sql.STRUCT, java.sql.ARRAY, java.sql.DISTINCT, and java.sql.JAVA_OBJECT so that the server can cast to that type before returning to the client.
`void` `setBlob(int i, java.sql.Blob x)` JDBC 2.0 Set a BLOB parameter.
`void` `setBlob(int i, java.sql.Blob x, int ifxType)` JDBC 2.0 Set a BLOB parameter.
`void` `setBlob(int parameterIndex, java.io.InputStream inputStream)`
`void` `setBlob(int parameterIndex, java.io.InputStream inputStream, long length)`
`void` `setBoolean(int i, boolean x)` Set a parameter to a Java boolean value.
`void` `setBoolean(int i, boolean x, int ifxType)` Set a parameter to a Java boolean value.
`void` `setByte(int i, byte x)` Set a parameter to a Java byte value.
`void` `setByte(int i, byte x, int ifxType)` Set a parameter to a Java byte value.
`void` `setBytes(int i, byte[] x)` Set a parameter to a Java array of bytes.
`void` `setBytes(int i, byte[] x, int ifxType)` Set a parameter to a Java array of bytes.
`void` `setCharacterStream(int parameterIndex, java.io.Reader reader)`
`void` `setCharacterStream(int i, java.io.Reader x, 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.
`void` `setCharacterStream(int i, java.io.Reader x, int length, int ifxType)` 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.
`void` `setCharacterStream(int parameterIndex, java.io.Reader reader, long length)`
`void` `setClob(int i, java.sql.Clob x)` JDBC 2.0 Set a CLOB parameter.
`void` `setClob(int i, java.sql.Clob x, int ifxType)` JDBC 2.0 Set a CLOB parameter.
`void` `setClob(int parameterIndex, java.io.Reader reader)`
`void` `setClob(int parameterIndex, java.io.Reader reader, long length)`
`void` `setDate(int i, 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` `setDate(int parameterIndex, java.sql.Date x, java.util.Calendar cal, int ifxType)` Set a parameter to a java.sql.Date value.
`void` `setDate(int i, java.sql.Date x, int ifxType)` Set a parameter to a java.sql.Date value.
`void` `setDouble(int i, double x)` Set a parameter to a Java double value.
`void` `setDouble(int i, double x, int ifxType)` Set a parameter to a Java double value.
`void` `setFloat(int i, float x)` Set a parameter to a Java float value.
`void` `setFloat(int i, float x, int ifxType)` Set a parameter to a Java float value.
`void` `setIfxBSONObject(int i, IfxBSONObject x)` Sets a parameter to an IfxBSONObject value.
`void` `setInt(int i, int x)` Set a parameter to a Java int value.
`void` `setInt(int i, int x, int ifxType)` Set a parameter to a Java int value.
`void` `setInterval(int i, Interval x)` Set a parameter to an Interval value.
`void` `setIntervalDF(int i, IntervalDF x)` Set a parameter to an IntervalDF value.
`void` `setIntervalYM(int i, IntervalYM x)` Set a parameter to an IntervalYM value.
`void` `setLong(int i, long x)` Set a parameter to a Java long value.
`void` `setLong(int i, long x, int ifxType)` Set a parameter to a Java long value.
`void` `setNCharacterStream(int parameterIndex, java.io.Reader value)`
`void` `setNCharacterStream(int parameterIndex, java.io.Reader value, long length)`
`void` `setNClob(int parameterIndex, java.sql.NClob value)`
`void` `setNClob(int parameterIndex, java.io.Reader reader)`
`void` `setNClob(int parameterIndex, java.io.Reader reader, long length)`
`void` `setNString(int parameterIndex, java.lang.String value)`
`void` `setNull(int i, int sqlType)` Set a parameter to SQL NULL.
`void` `setNull(int i, int sqlType, int ifxType)` Set a parameter to SQL NULL.
`protected void` `setNull(int i, int sqlType, int ifxType, java.lang.String name)` Set a parameter to SQL NULL.
`void` `setNull(int i, int sqlType, java.lang.String name)` Set a parameter to SQL NULL.
`void` `setObject(int i, java.lang.Object x)`
`void` `setObject(int i, java.lang.Object x, int targetSqlType)` This method is like setObject above, but assumes scale of zero.
`void` `setObject(int i, java.lang.Object x, int targetSqlType, int scale)` Set the value of a parameter using an object; use the java.lang equivalent objects for integral values.
`protected void` `setObject(int i, java.lang.Object x, java.lang.String name)`
`void` `setRef(int i, java.sql.Ref x)` JDBC 2.0 Set a REF(<structured-type>) parameter.
`void` `setRowId(int parameterIndex, java.sql.RowId x)`
`void` `setShort(int i, short x)` Set a parameter to a Java short value.
`void` `setShort(int i, short x, int ifxType)` Set a parameter to a Java short value.
`void` `setSQLXML(int parameterIndex, java.sql.SQLXML xmlObject)`
`void` `setString(int i, java.lang.String x)` Set a parameter to a Java String value.
`void` `setString(int i, java.lang.String x, int ifxType)` This method is Informix extension method and NOT a JDBC standard method.
`void` `setTime(int i, 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` `setTime(int parameterIndex, java.sql.Time x, java.util.Calendar cal, int ifxType)` Set a parameter to a java.sql.Time value.
`void` `setTime(int i, java.sql.Time x, int ifxType)` Set a parameter to a java.sql.Time value.
`void` `setTimestamp(int i, 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` `setTimestamp(int parameterIndex, java.sql.Timestamp x, java.util.Calendar cal, int ifxType)` Set a parameter to a java.sql.Timestamp value.
`void` `setTimestamp(int i, java.sql.Timestamp x, int ifxType)` Set a parameter to a java.sql.Timestamp value.
`void` `setUnicodeStream(int i, java.io.InputStream x, int length)` Deprecated.
`void` `setURL(int parameterIndex, java.net.URL x)`
`protected void` `superClose()`
`<T> T` `unwrap(java.lang.Class<T> iface)`

### Methods inherited from class com.informix.jdbc.IfxStatement

`cancel, chkAndSetGetRsltCalledFlag, clearWarnings, closeOnCompletion, executeImpl, executeQueryImpl, getAutoFree, getBigSerial, getConnection, getCursorName, getFetchBufferSize, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getSerial, getSerial8, getStatementType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, resetMethodCalledFlags, scrubBatch, setAutoFree, setCursorName, setEscapeProcessing, setFetchBufferSize, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, setResultSetConcurrency, setResultSetType, setStatementType, transferWarnings`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

`cancel, clearWarnings, closeOnCompletion, 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`

### Field Detail

#### vector

    protected java.util.Vector<IfxObject> vector

#### ordinalCalls

    protected long ordinalCalls

#### namedCalls

    protected long namedCalls

### Method Detail

#### executeQuery

    public 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
Throws:
  `java.sql.SQLException`

#### executeQuery

    public java.sql.ResultSet executeQuery(boolean withHold)
                                    throws java.sql.SQLException

A prepared SQL query is executed and its ResultSet is returned.

Specified by:
  `executeQuery` in interface `IfmxPreparedStatement`
Parameters:
  `withHold` - use Cursor With Hold or not
Returns:
  a ResultSet that contains the data produced by the query
Throws:
  `java.sql.SQLException`

#### executeUpdate

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

#### execute

    public boolean execute()
                    throws java.sql.SQLException

Some prepared statements return multiple results; the execute method handles these complex statements as well as the simpler form of statements handled by executeQuery and executeUpdate.

Specified by:
  `execute` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`
See Also:
  `Statement.execute(java.lang.String)`

#### execute

    public boolean execute(java.lang.String sql)
                    throws java.sql.SQLException

Description copied from class: `IfxStatement`
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). We don't ever return update count for this call. If you want an update count, then use executeUpdate.

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

#### execute

    public boolean execute(java.lang.String sql,
                  int returnKeys)
                    throws java.sql.SQLException

Specified by:
  `execute` in interface `java.sql.Statement`
Overrides:
  `execute` in class `IfxStatement`
Throws:
  `java.sql.SQLException`

#### execute

    public boolean execute(java.lang.String sql,
                  int[] columnIndexes)
                    throws java.sql.SQLException

Specified by:
  `execute` in interface `java.sql.Statement`
Overrides:
  `execute` in class `IfxStatement`
Throws:
  `java.sql.SQLException`

#### execute

    public boolean execute(java.lang.String sql,
                  java.lang.String[] columnNames)
                    throws java.sql.SQLException

Specified by:
  `execute` in interface `java.sql.Statement`
Overrides:
  `execute` in class `IfxStatement`
Throws:
  `java.sql.SQLException`

#### executeQuery

    public java.sql.ResultSet executeQuery(java.lang.String sql)
                                    throws java.sql.SQLException

Description copied from class: `IfxStatement`
Execute a SQL statement that returns a single ResultSet.

Specified by:
  `executeQuery` in interface `java.sql.Statement`
Overrides:
  `executeQuery` in class `IfxStatement`
Parameters:
  `sql` - typically this is a static SQL SELECT statement
Returns:
  the table of data produced by the SQL statement
Throws:
  `java.sql.SQLException`

#### executeQuery

    public java.sql.ResultSet executeQuery(java.lang.String sql,
                                  boolean withhold)
                                    throws java.sql.SQLException

Description copied from class: `IfxStatement`
Execute a SQL statement that returns a single ResultSet.

Specified by:
  `executeQuery` in interface `IfmxStatement`
Overrides:
  `executeQuery` in class `IfxStatement`
Parameters:
  `sql` - typically this is a static SQL SELECT statement
  `withhold` - use Cursor With Hold or not
Returns:
  the table of data produced by the SQL statement
Throws:
  `java.sql.SQLException`

#### executeUpdate

    public int executeUpdate(java.lang.String sql)
                      throws java.sql.SQLException

Description copied from class: `IfxStatement`
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 `IfxStatement`
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`

#### executeUpdate

    public int executeUpdate(java.lang.String sql,
                    int returnKeys)
                      throws java.sql.SQLException

Description copied from class: `IfxStatement`
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 `IfxStatement`
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`

#### executeUpdate

    public int executeUpdate(java.lang.String sql,
                    int[] columnIndexes)
                      throws java.sql.SQLException

Description copied from class: `IfxStatement`
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 `IfxStatement`
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`

#### executeUpdate

    public int executeUpdate(java.lang.String sql,
                    java.lang.String[] columnNames)
                      throws java.sql.SQLException

Description copied from class: `IfxStatement`
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 `IfxStatement`
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`

#### setNull

    public void setNull(int i,
               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`
See Also:
  `IfxTypes`

#### setNull

    public void setNull(int i,
               int sqlType,
               int ifxType)
                 throws java.sql.SQLException

Set a parameter to SQL NULL.

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

Specified by:
  `setNull` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `sqlType` - SQL type code defined by java.sql.Types
Throws:
  `java.sql.SQLException`
See Also:
  `IfxTypes`

#### setNull

    public void setNull(int i,
               int sqlType,
               java.lang.String name)
                 throws java.sql.SQLException

Set a parameter to SQL NULL.

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

Specified by:
  `setNull` in interface `PreparedStatement2`
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`

#### setNull

    protected void setNull(int i,
               int sqlType,
               int ifxType,
               java.lang.String name)
                    throws java.sql.SQLException

Set a parameter to SQL NULL.

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

Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `sqlType` - SQL type code defined by java.sql.Types
  `ifxType` - Informix type code defined by com.informix.lang.IfxTypes
  `name` - Opaque type name, distinct type name or complex type definition
Throws:
  `java.sql.SQLException`

#### setBigDecimal

    public void setBigDecimal(int i,
                     java.math.BigDecimal x)
                       throws java.sql.SQLException

Set a parameter to a java.lang.BigDecimal value. The driver converts this to a SQL NUMERIC value when it sends it to the database.

Specified by:
  `setBigDecimal` in interface `java.sql.PreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setBigDecimal

    public void setBigDecimal(int i,
                     java.math.BigDecimal x,
                     int ifxType)
                       throws java.sql.SQLException

Set a parameter to a java.lang.BigDecimal value. The driver converts this to the given ifxType when it sends it to the database.

Specified by:
  `setBigDecimal` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setBoolean

    public void setBoolean(int i,
                  boolean x)
                    throws java.sql.SQLException

Set a parameter to a Java boolean value. The driver converts this to a SQL BIT value when it sends it to the database.

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`

#### setBoolean

    public void setBoolean(int i,
                  boolean x,
                  int ifxType)
                    throws java.sql.SQLException

Set a parameter to a Java boolean value. The driver converts this to the given IfxType value when it sends to the database.

Specified by:
  `setBoolean` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setByte

    public void setByte(int i,
               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`

#### setByte

    public void setByte(int i,
               byte x,
               int ifxType)
                 throws java.sql.SQLException

Set a parameter to a Java byte value. The driver converts this to the given Ifxtype when it sends it to the database.

Specified by:
  `setByte` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setShort

    public void setShort(int i,
                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`

#### setShort

    public void setShort(int i,
                short x,
                int ifxType)
                  throws java.sql.SQLException

Set a parameter to a Java short value. The driver converts this to the given Ifxtype when it sends it to the database.

Specified by:
  `setShort` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setInt

    public void setInt(int i,
              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`

#### setInt

    public void setInt(int i,
              int x,
              int ifxType)
                throws java.sql.SQLException

Set a parameter to a Java int value. The driver converts this to the given IfxType value when it sends it to the database.

Specified by:
  `setInt` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setLong

    public void setLong(int i,
               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`

#### setLong

    public void setLong(int i,
               long x,
               int ifxType)
                 throws java.sql.SQLException

Set a parameter to a Java long value. The driver converts this to the given Ifxtype when it sends it to the database.

Specified by:
  `setLong` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setFloat

    public void setFloat(int i,
                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`

#### setFloat

    public void setFloat(int i,
                float x,
                int ifxType)
                  throws java.sql.SQLException

Set a parameter to a Java float value. The driver converts this to the given IfxType when it sends it to the database.

Specified by:
  `setFloat` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setDouble

    public void setDouble(int i,
                 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`

#### setDouble

    public void setDouble(int i,
                 double x,
                 int ifxType)
                   throws java.sql.SQLException

Set a parameter to a Java double value. The driver converts this to the given IfxType when it sends it to the database.

Specified by:
  `setDouble` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setString

    public void setString(int i,
                 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. If sending date or time values, use ANSI style formats. Other formats might be rejected DateTime - 'YYYY-MM-dd HH:mm:ss[.fffff]' Time - 'HH:mm:ss' If IFX_USEPUT is enabled the driver attempts to convert the string to it's correct data type before sending it to the server. To avoid type conversion work, you should send the matching native type via the set<Type> methods. For example, if you have a smallint column, use setShort(...) If you have a DateTime column, use setTimestamp(...) or setDate(...) Documented legacy behavior allows sending strings to other types such as date, serial8.

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`

#### setString

    public void setString(int i,
                 java.lang.String x,
                 int ifxType)
                   throws java.sql.SQLException

This method is Informix extension method and NOT a JDBC standard method. Set a parameter to a Java String value. The driver converts this to the given ifxType when it sends it to the database.

Specified by:
  `setString` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setBytes

    public void setBytes(int i,
                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 arguments size relative to the driver's limits on VARBINARYs) when it sends

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`

#### setBytes

    public void setBytes(int i,
                byte[] x,
                int ifxType)
                  throws java.sql.SQLException

Set a parameter to a Java array of bytes. The driver converts this to the given ifxType when it sends to the database.

Specified by:
  `setBytes` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setDate

    public void setDate(int i,
               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`

#### setDate

    public void setDate(int i,
               java.sql.Date x,
               int ifxType)
                 throws java.sql.SQLException

Set a parameter to a java.sql.Date value. The driver converts this to the given IfxType when it sends it to the database.

Specified by:
  `setDate` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setTime

    public void setTime(int i,
               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`

#### setTime

    public void setTime(int i,
               java.sql.Time x,
               int ifxType)
                 throws java.sql.SQLException

Set a parameter to a java.sql.Time value. The driver converts this to the given IfxType when it sends it to the database.

Specified by:
  `setTime` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setTimestamp

    public void setTimestamp(int i,
                    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`

#### setTimestamp

    public void setTimestamp(int i,
                    java.sql.Timestamp x,
                    int ifxType)
                      throws java.sql.SQLException

Set a parameter to a java.sql.Timestamp value. The driver converts this to the given ifxType when it sends it to the database.

Specified by:
  `setTimestamp` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setAsciiStream

    public void setAsciiStream(int parameterIndex,
                      java.io.InputStream x,
                      int length)
                        throws java.sql.SQLException

When a very large ASCII value is input to a LONGVARCHAR parameter it may be more practical to send it via a java.io.InputStream. 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 ASCII 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:
  `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`

#### setAsciiStream

    public void setAsciiStream(int i,
                      java.io.InputStream x,
                      int length,
                      int ifxType)
                        throws java.sql.SQLException

When a very large ASCII value is input to a LONGVARCHAR parameter it may be more practical to send it via a java.io.InputStream. 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 ASCII to the given ifxType, if applicable, when sending to the database.

Note: this stream object can either be a standard Java stream object, or your own subclass that implements the standard interface.

Specified by:
  `setAsciiStream` in interface `IfmxPreparedStatement`
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
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setUnicodeStream

    public void setUnicodeStream(int i,
                        java.io.InputStream x,
                        int length)
                          throws java.sql.SQLException

Deprecated.
When a very large UNICODE value is input to a LONGVARCHAR parameter it may be more practical to send it via a java.io.InputStream. 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:
  `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 @param length the number of bytes in the stream
Throws:
  `java.sql.SQLException`

#### setBinaryStream

    public void setBinaryStream(int paramterIndex,
                       java.io.InputStream x,
                       int length)
                         throws java.sql.SQLException

When a very large binary value is input to a LONGVARBINARY parameter it may be more practical to send it via a java.io.InputStream. JDBC will read the data from the stream as needed, until it reaches end-of-file.

Note: this stream object can either be a standard Java stream object, or your own subclass that implements the standard interface.

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`

#### setBinaryStream

    public void setBinaryStream(int i,
                       java.io.InputStream x,
                       int length,
                       int ifxType)
                         throws java.sql.SQLException

When a very large binary value is input to a LONGVARBINARY parameter it may be more practical to send it via a java.io.InputStream. JDBC will read the data from the stream as needed, until it reaches end-of-file. The driver will convert to the given ifxType, if applicable, when sending to the database.

Note: this stream object can either be a standard Java stream object, or your own subclass that implements the standard interface.

Specified by:
  `setBinaryStream` in interface `IfmxPreparedStatement`
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
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `IfxTypes`

#### setInterval

    public void setInterval(int i,
                   Interval x)
                     throws java.sql.SQLException

Set a parameter to an Interval value. The driver converts this to a SQL Interval value when it sends it to the database.

Specified by:
  `setInterval` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
Throws:
  `java.sql.SQLException`

#### setIntervalYM

    public void setIntervalYM(int i,
                     IntervalYM x)
                       throws java.sql.SQLException

Set a parameter to an IntervalYM value. The driver converts this to a SQL Interval value when it sends it to the database.

Specified by:
  `setIntervalYM` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
Throws:
  `java.sql.SQLException`

#### setIntervalDF

    public void setIntervalDF(int i,
                     IntervalDF x)
                       throws java.sql.SQLException

Set a parameter to an IntervalDF value. The driver converts this to a SQL Interval value when it sends it to the database.

Specified by:
  `setIntervalDF` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
Throws:
  `java.sql.SQLException`

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

#### setObject

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

Set the value of a parameter using an object; use the java.lang equivalent objects for integral values.

The given Java object will be converted to the targetSqlType 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 and using a targetSqlType of java.sql.types.OTHER.

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`
See Also:
  `Types`

#### setObject

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

This method is like setObject above, but assumes scale of zero. This method would be nice if the value object stuff currently worked like this, but it doesn't

Specified by:
  `setObject` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setObject

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

Specified by:
  `setObject` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setObject

    protected void setObject(int i,
                 java.lang.Object x,
                 java.lang.String name)
                      throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### IfxSetObject

    public void IfxSetObject(int i,
                    java.lang.Object x,
                    int scale,
                    int ifxType)
                      throws java.sql.SQLException

This method is the same as the setObject() method with the exception that the driver will convert the object to the given ifxtype when sending to the database.

Specified by:
  `IfxSetObject` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - The first parameter is 1, the second is 2, ...
  `x` - The object containing the input parameter value
  `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,
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `com.informix.jdbc.IfxTypes`

#### IfxSetObject

    public void IfxSetObject(int i,
                    java.lang.Object x,
                    int ifxType)
                      throws java.sql.SQLException

This method is the same as the setObject() method with the exception that the driver will convert the object to the given ifxtype when sending to the database.

Specified by:
  `IfxSetObject` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - The first parameter is 1, the second is 2, ...
  `x` - The object containing the input parameter value
  `ifxType` - the Informix type to bind as.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `com.informix.jdbc.IfxTypes`

#### checkParameterIndex

    protected void checkParameterIndex(int i,
                           int qmarks)
                                throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### addBatch

    public void addBatch(java.lang.String sql)
                  throws java.sql.SQLException

Description copied from class: `IfxStatement`
JDBC 2.0 Adds a SQL command to the current batch of commmands for the statement.

Specified by:
  `addBatch` in interface `java.sql.Statement`
Overrides:
  `addBatch` in class `IfxStatement`
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

#### addBatch

    public void addBatch()
                  throws java.sql.SQLException

JDBC 2.0 Add a set of parameters to the batch.

Specified by:
  `addBatch` in interface `PreparedStatement2`
Specified by:
  `addBatch` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `Statement.addBatch(java.lang.String)`

#### executeBatch

    public int[] executeBatch()
                       throws java.sql.SQLException

JDBC 2.0 Submit a batch of commands to the database for execution. For Informix servers, we only return the update count of the first statement executed in the batch and hence the integer array will only have 1 entry for us.

Specified by:
  `executeBatch` in interface `java.sql.Statement`
Overrides:
  `executeBatch` in class `IfxStatement`
Returns:
  an array of update counts containing one element for each command in the batch. The array is ordered according to the order in which commands were inserted into the batch
Throws:
  `java.sql.SQLException` - if a database-access error occurs, or the driver does not support batch statements

#### clearBatch

    public void clearBatch()
                    throws java.sql.SQLException

JDBC 2.0 Make the set of commands in the current batch empty. This method is optional.

Specified by:
  `clearBatch` in interface `java.sql.Statement`
Overrides:
  `clearBatch` in class `IfxStatement`
Throws:
  `java.sql.SQLException` - if a database-access error occurs, or the driver does not support batch statements

#### setCharacterStream

    public void setCharacterStream(int i,
                          java.io.Reader x,
                          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 `PreparedStatement2`
Specified by:
  `setCharacterStream` in interface `java.sql.PreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the java reader which contains the UNICODE data
  `length` - the number of characters in the stream
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setCharacterStream

    public void setCharacterStream(int i,
                          java.io.Reader x,
                          int length,
                          int ifxType)
                            throws java.sql.SQLException

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 `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the java reader which contains the UNICODE data
  `length` - the number of characters in the stream
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setRef

    public void setRef(int i,
              java.sql.Ref x)
                throws java.sql.SQLException

JDBC 2.0 Set a REF(<structured-type>) parameter.

Specified by:
  `setRef` in interface `PreparedStatement2`
Specified by:
  `setRef` in interface `java.sql.PreparedStatement`
Parameters:
  `i` - the first parameter is 1, the second is 2, ...
  `x` - an object representing data of an SQL REF Type
Throws:
  `java.sql.SQLException`

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

#### setBlob

    public void setBlob(int i,
               java.sql.Blob x,
               int ifxType)
                 throws java.sql.SQLException

JDBC 2.0 Set a BLOB parameter. The driver will convert to the given ifxType when sending to the database.

Specified by:
  `setBlob` in interface `IfmxPreparedStatement`
Parameters:
  `i` - the first parameter is 1, the second is 2, ...
  `x` - an object representing a BLOB
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `com.informix.jdbc.IfxTypes`

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

#### setClob

    public void setClob(int i,
               java.sql.Clob x,
               int ifxType)
                 throws java.sql.SQLException

JDBC 2.0 Set a CLOB parameter. The driver will convert to the given ifxType when sending to the database.

Specified by:
  `setClob` in interface `IfmxPreparedStatement`
Parameters:
  `i` - the first parameter is 1, the second is 2, ...
  `x` - an object representing a CLOB
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `com.informix.jdbc.IfxTypes`

#### setArray

    public void setArray(int i,
                java.sql.Array x)
                  throws java.sql.SQLException

JDBC 2.0 Set an Array parameter.

Specified by:
  `setArray` in interface `PreparedStatement2`
Specified by:
  `setArray` in interface `java.sql.PreparedStatement`
Parameters:
  `i` - the first parameter is 1, the second is 2, ...
  `x` - an object representing an SQL array
Throws:
  `java.sql.SQLException`

#### setArray

    public void setArray(int i,
                java.sql.Array x,
                int ifxType)
                  throws java.sql.SQLException

JDBC 2.0 Set an Array parameter. The driver will convert to the given ifxType when sending to the database.

Specified by:
  `setArray` in interface `IfmxPreparedStatement`
Parameters:
  `i` - the first parameter is 1, the second is 2, ...
  `x` - an object representing an SQL array
  `ifxType` - the Informix type to bind as
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `com.informix.jdbc.IfxTypes`

#### setArray

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

Set an Array parameter. The driver will instantiate a IfxCollection object and then pass in the string to fromObject(). The string is expected to be the collection definition: "set(int not null)". Currently, this is only used by CallableStatement. We're only having problems casting from one collection type to another when UDRs are concerned. The server can't find the UDR if the 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
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setTime

    public 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 `PreparedStatement2`
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` - if a database-access error occurs.

#### setTime

    public void setTime(int parameterIndex,
               java.sql.Time x,
               java.util.Calendar cal,
               int ifxType)
                 throws java.sql.SQLException

Set a parameter to a java.sql.Time value. The driver converts this to the given ifxType when it sends it to the database.

Specified by:
  `setTime` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as.
  `cal` - The calendar object the driver uses to construct the time.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `com.informix.jdbc.IfxTypes`

#### getMetaData

    public java.sql.ResultSetMetaData getMetaData()
                                           throws java.sql.SQLException

The number, types and properties of a ResultSet's columns are provided by the getMetaData method.

Specified by:
  `getMetaData` in interface `PreparedStatement2`
Specified by:
  `getMetaData` in interface `java.sql.PreparedStatement`
Returns:
  the description of a ResultSet's columns
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setDate

    public 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 `PreparedStatement2`
Specified by:
  `setDate` in interface `java.sql.PreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `cal` - the Calendar object the driver will use to construct the date NOTE : The default Calendar is also considered to construct the date
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setDate

    public void setDate(int parameterIndex,
               java.sql.Date x,
               java.util.Calendar cal,
               int ifxType)
                 throws java.sql.SQLException

Set a parameter to a java.sql.Date value. The driver converts this to the given ifxType when it sends it to the database.

Specified by:
  `setDate` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `cal` - the Calendar object the driver will use to construct the date
  `ifxType` - the Informix type to bind as NOTE : The default Calendar is also considered to construct the date
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `com.informix.jdbc.IfxTypes`

#### setTimestamp

    public 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 `PreparedStatement2`
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` - if a database-access error occurs.

#### setTimestamp

    public void setTimestamp(int parameterIndex,
                    java.sql.Timestamp x,
                    java.util.Calendar cal,
                    int ifxType)
                      throws java.sql.SQLException

Set a parameter to a java.sql.Timestamp value. The driver converts this the given ifxType when it sends it to the database.

Specified by:
  `setTimestamp` in interface `IfmxPreparedStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `x` - the parameter value
  `ifxType` - the Informix type to bind as
  `cal` - The calendar object the driver uses to construct the timestamp.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `com.informix.jdbc.IfxTypes`

#### setBindColType

    public void setBindColType(int colIndex,
                      int sqltype)
                        throws java.sql.SQLException

Allows applications to specify the output type of the resultset values so that the server can cast to that type before returning to the client. This method is used when the user wants to use JAVA SQL types in it's parameter call.

Specified by:
  `setBindColType` in interface `IfmxPreparedStatement`
Parameters:
  `colIndex` - the first parameter is 1, the second is 2, ...
  `sqltype` - the server should cast to.
Throws:
  `java.sql.SQLException`

#### setBindColType

    public void setBindColType(int colIndex,
                      int sqltype,
                      int scale)
                        throws java.sql.SQLException

Allows applications to specify the output type to be java.sql.DECIMAL or java.sql.NUMERIC, so that the server can cast to that type before returning to the client.

Specified by:
  `setBindColType` in interface `IfmxPreparedStatement`
Parameters:
  `colIndex` - the first parameter is 1, the second is 2, ...
  `sqltype` - the server should cast to.
  `scale` - - Java specific scale - not used by Informix
Throws:
  `java.sql.SQLException`

#### setBindColIfxType

    public void setBindColIfxType(int colIndex,
                         int ifxtype,
                         int scale)
                           throws java.sql.SQLException

Allows applications to specify the output type to be IFX_TYPE_DECIMAL, IFX_TYPE_MONEY so that the server can cast to that type before returning to the client.

Specified by:
  `setBindColIfxType` in interface `IfmxPreparedStatement`
Parameters:
  `colIndex` - the first parameter is 1, the second is 2, ...
  `ifxtype` - the server should cast to.
  `scale` - - Informix specific encoded length
Throws:
  `java.sql.SQLException`

#### setBindColType

    public void setBindColType(int colIndex,
                      int sqltype,
                      java.lang.String name)
                        throws java.sql.SQLException

Allows applications to specify the output type to be java.sql.STRUCT, java.sql.ARRAY, java.sql.DISTINCT, and java.sql.JAVA_OBJECT so that the server can cast to that type before returning to the client.

Specified by:
  `setBindColType` in interface `IfmxPreparedStatement`
Parameters:
  `colIndex` - the first parameter is 1, the second is 2, ...
  `sqltype` - the server should cast to.
  `name` - indicates the string representation of the UDT or complex type
Throws:
  `java.sql.SQLException`

#### setBindColIfxType

    public void setBindColIfxType(int colIndex,
                         int ifxtype,
                         java.lang.String name)
                           throws java.sql.SQLException

Allows applications to specify the output type to be IFX_TYPE_LIST, IFX_TYPE_ROW, IFX_TYPE_MULTISET, IFX_TYPE_SET, IFX_TYPE_UDTVAR, IFX_TYPE_UDTFIXED so that the server can cast to that type before returning to the client.

Specified by:
  `setBindColIfxType` in interface `IfmxPreparedStatement`
Parameters:
  `colIndex` - the first parameter is 1, the second is 2, ...
  `ifxtype` - the server should cast to.
  `name` - indicates the string representation of the UDT or complex type
Throws:
  `java.sql.SQLException`

#### setBindColIfxType

    public void setBindColIfxType(int colIndex,
                         int ifxtype)
                           throws java.sql.SQLException

Similar to setBindColType(), but used when application wants to use Informix SQL types in it's parameter call. Allows applications to specify the output type of the resultset values so that the server can cast to that type before returning to the client.

Specified by:
  `setBindColIfxType` in interface `IfmxPreparedStatement`
Parameters:
  `colIndex` - the first parameter is 1, the second is 2, ...
  `ifxtype` - the server should cast to.
Throws:
  `java.sql.SQLException`

#### ambiguousSQLType

    protected boolean ambiguousSQLType(int sqltype)

#### clearBindColType

    public void clearBindColType()
                          throws java.sql.SQLException

Reset the values set by calling setBindColType()

Specified by:
  `clearBindColType` in interface `IfmxPreparedStatement`
Throws:
  `java.sql.SQLException`

#### getResultSetProtocol

    public IfxProtocol getResultSetProtocol()
                                     throws java.sql.SQLException

Returns the Protocol object created by the currentResult variable for Connected RowSets.

Throws:
  `java.sql.SQLException`

#### setURL

    public void setURL(int parameterIndex,
              java.net.URL x)
                throws java.sql.SQLException

Specified by:
  `setURL` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### getParameterMetaData

    public java.sql.ParameterMetaData getParameterMetaData()
                                                    throws java.sql.SQLException

Specified by:
  `getParameterMetaData` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### getParameterMetaData

    protected java.sql.ParameterMetaData getParameterMetaData(java.lang.String signature,
                                                  boolean isProc,
                                                  java.lang.String procName,
                                                  int numParams)
                                                       throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### setAsciiStream

    public void setAsciiStream(int parameterIndex,
                      java.io.InputStream x)
                        throws java.sql.SQLException

Specified by:
  `setAsciiStream` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setAsciiStream

    public void setAsciiStream(int parameterIndex,
                      java.io.InputStream x,
                      long length)
                        throws java.sql.SQLException

Specified by:
  `setAsciiStream` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setBinaryStream

    public void setBinaryStream(int parameterIndex,
                       java.io.InputStream x)
                         throws java.sql.SQLException

Specified by:
  `setBinaryStream` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setBinaryStream

    public void setBinaryStream(int parameterIndex,
                       java.io.InputStream x,
                       long length)
                         throws java.sql.SQLException

Specified by:
  `setBinaryStream` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setBlob

    public void setBlob(int parameterIndex,
               java.io.InputStream inputStream)
                 throws java.sql.SQLException

Specified by:
  `setBlob` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setBlob

    public void setBlob(int parameterIndex,
               java.io.InputStream inputStream,
               long length)
                 throws java.sql.SQLException

Specified by:
  `setBlob` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setCharacterStream

    public void setCharacterStream(int parameterIndex,
                          java.io.Reader reader)
                            throws java.sql.SQLException

Specified by:
  `setCharacterStream` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setCharacterStream

    public void setCharacterStream(int parameterIndex,
                          java.io.Reader reader,
                          long length)
                            throws java.sql.SQLException

Specified by:
  `setCharacterStream` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setClob

    public void setClob(int parameterIndex,
               java.io.Reader reader)
                 throws java.sql.SQLException

Specified by:
  `setClob` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setClob

    public void setClob(int parameterIndex,
               java.io.Reader reader,
               long length)
                 throws java.sql.SQLException

Specified by:
  `setClob` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setNCharacterStream

    public void setNCharacterStream(int parameterIndex,
                           java.io.Reader value)
                             throws java.sql.SQLException

Specified by:
  `setNCharacterStream` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setNCharacterStream

    public void setNCharacterStream(int parameterIndex,
                           java.io.Reader value,
                           long length)
                             throws java.sql.SQLException

Specified by:
  `setNCharacterStream` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setNClob

    public void setNClob(int parameterIndex,
                java.sql.NClob value)
                  throws java.sql.SQLException

Specified by:
  `setNClob` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setNClob

    public void setNClob(int parameterIndex,
                java.io.Reader reader)
                  throws java.sql.SQLException

Specified by:
  `setNClob` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setNClob

    public void setNClob(int parameterIndex,
                java.io.Reader reader,
                long length)
                  throws java.sql.SQLException

Specified by:
  `setNClob` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setNString

    public void setNString(int parameterIndex,
                  java.lang.String value)
                    throws java.sql.SQLException

Specified by:
  `setNString` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setRowId

    public void setRowId(int parameterIndex,
                java.sql.RowId x)
                  throws java.sql.SQLException

Specified by:
  `setRowId` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### setSQLXML

    public void setSQLXML(int parameterIndex,
                 java.sql.SQLXML xmlObject)
                   throws java.sql.SQLException

Specified by:
  `setSQLXML` in interface `java.sql.PreparedStatement`
Throws:
  `java.sql.SQLException`

#### isWrapperFor

    public boolean isWrapperFor(java.lang.Class<?> iface)
                         throws java.sql.SQLException

Specified by:
  `isWrapperFor` in interface `java.sql.Wrapper`
Overrides:
  `isWrapperFor` in class `IfxStatement`
Throws:
  `java.sql.SQLException`

#### unwrap

    public <T> T unwrap(java.lang.Class<T> iface)
             throws java.sql.SQLException

Specified by:
  `unwrap` in interface `java.sql.Wrapper`
Overrides:
  `unwrap` in class `IfxStatement`
Throws:
  `java.sql.SQLException`

#### closeCursor

    public void closeCursor()
                     throws java.sql.SQLException

Description copied from interface: `IfmxPreparedStatement`

Will issue SQ_CLOSE with currently active statement id, resulting in database releasing the lock on currently active cursor.

This is a subset of Statement.close() method which would have closed all database resources associated with the prepared statement.

Specified by:
  `closeCursor` in interface `IfmxPreparedStatement`
Throws:
  `java.sql.SQLException`

#### close

    public void close()
               throws java.sql.SQLException

Description copied from class: `IfxStatement`
In many cases, it is desirable to immediately release a Statements's database and JDBC resources instead of waiting for this to happen when it is automatically closed; the close method provides this immediate release.

Note: A Statement is automatically closed when it is garbage collected. When a Statement is closed its current ResultSet, if one exists, is also closed.

Specified by:
  `close` in interface `java.lang.AutoCloseable`
Specified by:
  `close` in interface `java.sql.Statement`
Overrides:
  `close` in class `IfxStatement`
Throws:
  `java.sql.SQLException`

#### superClose

    protected void superClose()
                       throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### setIfxBSONObject

    public void setIfxBSONObject(int i,
                        IfxBSONObject x)
                          throws java.sql.SQLException

Description copied from interface: `IfmxPreparedStatement`
Sets a parameter to an IfxBSONObject value. The driver converts this to an Informix BSON value when it sends the value to the database.

Specified by:
  `setIfxBSONObject` in interface `IfmxPreparedStatement`
Parameters:
  `i` - The first parameter is 1, the second is 2, and so on.
  `x` - The parameter value.
Throws:
  `java.sql.SQLException`

#### executeQuery

    public java.sql.ResultSet executeQuery(boolean withHold,
                                  boolean withReOptimization)
                                    throws java.sql.SQLException

Description copied from interface: `IfmxPreparedStatement`
An Informix executeQuery() extension to specify whether the result should be a HOLD ResultSet (cursor) or not and if the query plan should be reoptimized if the data for the preparedstatement object has changed.

Specified by:
  `executeQuery` in interface `IfmxPreparedStatement`
Parameters:
  `withHold` - - specifies whether the ResultSet is a HOLD cursor, default false
  `withReOptimization` - - specifies whether query plan should be reoptimized, default false
Returns:
Throws:
  `java.sql.SQLException`