org.mariadb.jdbc

## Class MariaDbCallableStatement

- java.lang.Object
- - org.mariadb.jdbc.MariaDbCallableStatement

All Implemented Interfaces:
  AutoCloseable, CallableStatement, PreparedStatement, Statement, Wrapper

    public class MariaDbCallableStatement
    extends Object
    implements CallableStatement

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

### Constructor Summary

Constructors
Constructor and Description
`MariaDbCallableStatement(MariaDbConnection connection, String query)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`void` `addBatch()` Adds a set of parameters to this `PreparedStatement` object's batch of send.
`void` `addBatch(String sql)` Adds the given SQL command to the current list of send for this `Statement` object.
`void` `cancel()`
`void` `clearBatch()` Empties this `Statement` object's current list of SQL send.
`void` `clearParameters()` Clears the current parameter values immediately.
`void` `clearWarnings()`
`void` `close()` Releases this `Statement` object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.
`void` `closeOnCompletion()`
`boolean` `execute()` Executes the SQL statement in this `PreparedStatement` object, which may be any kind of SQL statement.
`boolean` `execute(String sql)`
`boolean` `execute(String sql, int autoGeneratedKeys)`
`boolean` `execute(String sql, int[] columnIndexes)`
`boolean` `execute(String sql, String[] columnNames)`
`int[]` `executeBatch()` Submits a batch of send to the database for execution and if all send execute successfully, returns an array of update counts.
`ResultSet` `executeQuery()` Executes the SQL statement in this `PreparedStatement` object, which may be any kind of SQL statement.
`ResultSet` `executeQuery(String sql)`
`int` `executeUpdate()` Retrieves the current result as an update count; if the result is a `ResultSet` object or there are no more results, -1 is returned.
`int` `executeUpdate(String sql)`
`int` `executeUpdate(String sql, int autoGeneratedKeys)`
`int` `executeUpdate(String sql, int[] columnIndexes)`
`int` `executeUpdate(String sql, String[] columnNames)`
`Array` `getArray(int parameterIndex)`
`Array` `getArray(String parameterName)`
`BigDecimal` `getBigDecimal(int parameterIndex)`
`BigDecimal` `getBigDecimal(int parameterIndex, int scale)` Deprecated. use `getBigDecimal(int parameterIndex)` or `getBigDecimal(String parameterName)`
`BigDecimal` `getBigDecimal(String parameterName)`
`Blob` `getBlob(int parameterIndex)`
`Blob` `getBlob(String parameterName)`
`boolean` `getBoolean(int parameterIndex)`
`boolean` `getBoolean(String parameterName)`
`byte` `getByte(int parameterIndex)`
`byte` `getByte(String parameterName)`
`byte[]` `getBytes(int parameterIndex)`
`byte[]` `getBytes(String parameterName)`
`Reader` `getCharacterStream(int parameterIndex)`
`Reader` `getCharacterStream(String parameterName)`
`Clob` `getClob(int parameterIndex)`
`Clob` `getClob(String parameterName)`
`Connection` `getConnection()`
`Date` `getDate(int parameterIndex)`
`Date` `getDate(int parameterIndex, Calendar cal)`
`Date` `getDate(String parameterName)`
`Date` `getDate(String parameterName, Calendar cal)`
`double` `getDouble(int parameterIndex)`
`double` `getDouble(String parameterName)`
`int` `getFetchDirection()`
`int` `getFetchSize()`
`float` `getFloat(int parameterIndex)`
`float` `getFloat(String parameterName)`
`ResultSet` `getGeneratedKeys()`
`int` `getInt(int parameterIndex)`
`int` `getInt(String parameterName)`
`long` `getLong(int parameterIndex)`
`long` `getLong(String parameterName)`
`int` `getMaxFieldSize()`
`int` `getMaxRows()`
`ResultSetMetaData` `getMetaData()` Retrieves the number, types and properties of this `ResultSet` object's columns.
`boolean` `getMoreResults()`
`boolean` `getMoreResults(int current)`
`Reader` `getNCharacterStream(int parameterIndex)`
`Reader` `getNCharacterStream(String parameterName)`
`NClob` `getNClob(int parameterIndex)`
`NClob` `getNClob(String parameterName)`
`String` `getNString(int parameterIndex)`
`String` `getNString(String parameterName)`
`Object` `getObject(int parameterIndex)` Gets the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.
`<T> T` `getObject(int arg0, Class<T> arg1)`
`Object` `getObject(int parameterIndex, Map<String,Class<?>> map)`
`Object` `getObject(String parameterName)`
`<T> T` `getObject(String arg0, Class<T> arg1)`
`Object` `getObject(String parameterName, Map<String,Class<?>> map)`
`ParameterMetaData` `getParameterMetaData()`
`int` `getQueryTimeout()`
`Ref` `getRef(int parameterIndex)`
`Ref` `getRef(String parameterName)`
`ResultSet` `getResultSet()`
`int` `getResultSetConcurrency()`
`int` `getResultSetHoldability()`
`int` `getResultSetType()`
`RowId` `getRowId(int parameterIndex)`
`RowId` `getRowId(String parameterName)`
`short` `getShort(int parameterIndex)`
`short` `getShort(String parameterName)`
`SQLXML` `getSQLXML(int parameterIndex)`
`SQLXML` `getSQLXML(String parameterName)`
`String` `getString(int parameterIndex)`
`String` `getString(String parameterName)`
`Time` `getTime(int parameterIndex)`
`Time` `getTime(int parameterIndex, Calendar cal)`
`Time` `getTime(String parameterName)`
`Time` `getTime(String parameterName, Calendar cal)`
`Timestamp` `getTimestamp(int parameterIndex)`
`Timestamp` `getTimestamp(int parameterIndex, Calendar cal)`
`Timestamp` `getTimestamp(String parameterName)`
`Timestamp` `getTimestamp(String parameterName, Calendar cal)`
`int` `getUpdateCount()`
`URL` `getURL(int parameterIndex)`
`URL` `getURL(String parameterName)`
`SQLWarning` `getWarnings()`
`boolean` `isClosed()`
`boolean` `isCloseOnCompletion()`
`boolean` `isPoolable()`
`boolean` `isWrapperFor(Class<?> iface)`
`void` `registerOutParameter(int parameterIndex, int sqlType)`
`void` `registerOutParameter(int parameterIndex, int sqlType, int scale)` Registers the parameter in ordinal position `parameterIndex` to be of JDBC type `sqlType`.
`void` `registerOutParameter(int parameterIndex, int sqlType, String typeName)` Registers the designated output parameter.
`void` `registerOutParameter(String parameterName, int sqlType)`
`void` `registerOutParameter(String parameterName, int sqlType, int scale)`
`void` `registerOutParameter(String parameterName, int sqlType, String typeName)`
`void` `setArray(int parameterIndex, Array array)`
`void` `setAsciiStream(int parameterIndex, InputStream stream)`
`void` `setAsciiStream(int parameterIndex, InputStream stream, int length)`
`void` `setAsciiStream(int parameterIndex, InputStream stream, long length)`
`void` `setAsciiStream(String parameterName, InputStream stream)`
`void` `setAsciiStream(String parameterName, InputStream stream, int length)`
`void` `setAsciiStream(String parameterName, InputStream stream, long length)`
`void` `setBigDecimal(int parameterIndex, BigDecimal bigDecimal)`
`void` `setBigDecimal(String parameterName, BigDecimal bigDecimal)`
`void` `setBinaryStream(int parameterIndex, InputStream stream)`
`void` `setBinaryStream(int parameterIndex, InputStream stream, int length)`
`void` `setBinaryStream(int parameterIndex, InputStream stream, long length)`
`void` `setBinaryStream(String parameterName, InputStream stream)`
`void` `setBinaryStream(String parameterName, InputStream stream, int length)`
`void` `setBinaryStream(String parameterName, InputStream stream, long length)`
`void` `setBlob(int parameterIndex, Blob blob)`
`void` `setBlob(int parameterIndex, InputStream inputStream)`
`void` `setBlob(int parameterIndex, InputStream inputStream, long length)`
`void` `setBlob(String parameterName, Blob blob)`
`void` `setBlob(String parameterName, InputStream inputStream)`
`void` `setBlob(String parameterName, InputStream inputStream, long length)`
`void` `setBoolean(int parameterIndex, boolean bool)`
`void` `setBoolean(String parameterName, boolean bool)`
`void` `setByte(int parameterIndex, byte value)`
`void` `setByte(String parameterName, byte value)`
`void` `setBytes(int parameterIndex, byte[] bytes)`
`void` `setBytes(String parameterName, byte[] bytes)`
`void` `setCharacterStream(int parameterIndex, Reader reader)`
`void` `setCharacterStream(int parameterIndex, Reader reader, int length)`
`void` `setCharacterStream(int parameterIndex, Reader reader, long length)`
`void` `setCharacterStream(String parameterName, Reader reader)`
`void` `setCharacterStream(String parameterName, Reader reader, int length)`
`void` `setCharacterStream(String parameterName, Reader reader, long length)`
`void` `setClob(int parameterIndex, Clob clob)`
`void` `setClob(int parameterIndex, Reader reader)`
`void` `setClob(int parameterIndex, Reader reader, long length)`
`void` `setClob(String parameterName, Clob clob)`
`void` `setClob(String parameterName, Reader reader)`
`void` `setClob(String parameterName, Reader reader, long length)`
`void` `setCursorName(String name)`
`void` `setDate(int parameterIndex, Date date)`
`void` `setDate(int parameterIndex, Date date, Calendar cal)`
`void` `setDate(String parameterName, Date date)`
`void` `setDate(String parameterName, Date date, Calendar cal)`
`void` `setDouble(int parameterIndex, double value)`
`void` `setDouble(String parameterName, double value)`
`void` `setEscapeProcessing(boolean enable)`
`void` `setFetchDirection(int direction)`
`void` `setFetchSize(int rows)`
`void` `setFloat(int parameterIndex, float value)`
`void` `setFloat(String parameterName, float value)`
`void` `setInt(int parameterIndex, int value)`
`void` `setInt(String parameterName, int value)`
`void` `setLong(int parameterIndex, long value)`
`void` `setLong(String parameterName, long value)`
`void` `setMaxFieldSize(int max)`
`void` `setMaxRows(int max)`
`void` `setNCharacterStream(int parameterIndex, Reader value)`
`void` `setNCharacterStream(int parameterIndex, Reader value, long length)`
`void` `setNCharacterStream(String parameterName, Reader value)`
`void` `setNCharacterStream(String parameterName, Reader value, long length)`
`void` `setNClob(int parameterIndex, NClob value)`
`void` `setNClob(int parameterIndex, Reader reader)`
`void` `setNClob(int parameterIndex, Reader reader, long length)`
`void` `setNClob(String parameterName, NClob value)`
`void` `setNClob(String parameterName, Reader reader)`
`void` `setNClob(String parameterName, Reader reader, long length)`
`void` `setNString(int parameterIndex, String value)`
`void` `setNString(String parameterName, String value)`
`void` `setNull(int parameterIndex, int sqlType)`
`void` `setNull(int parameterIndex, int sqlType, String typeName)`
`void` `setNull(String parameterName, int sqlType)`
`void` `setNull(String parameterName, int sqlType, String typeName)`
`void` `setObject(int parameterIndex, Object obj)`
`void` `setObject(int parameterIndex, Object obj, int targetSqlType)`
`void` `setObject(int parameterIndex, Object obj, int targetSqlType, int scaleOrLength)`
`void` `setObject(String parameterName, Object obj)`
`void` `setObject(String parameterName, Object obj, int targetSqlType)`
`void` `setObject(String parameterName, Object obj, int targetSqlType, int scale)`
`void` `setPoolable(boolean poolable)`
`void` `setQueryTimeout(int seconds)`
`void` `setRef(int parameterIndex, Ref ref)`
`void` `setRowId(int parameterIndex, RowId rowid)`
`void` `setRowId(String parameterName, RowId rowid)`
`void` `setShort(int parameterIndex, short value)`
`void` `setShort(String parameterName, short value)`
`void` `setSQLXML(int parameterIndex, SQLXML xmlObject)`
`void` `setSQLXML(String parameterName, SQLXML xmlObject)`
`void` `setString(int parameterIndex, String str)`
`void` `setString(String parameterName, String str)`
`void` `setTime(int parameterIndex, Time time)`
`void` `setTime(int parameterIndex, Time time, Calendar cal)`
`void` `setTime(String parameterName, Time time)`
`void` `setTime(String parameterName, Time time, Calendar cal)`
`void` `setTimestamp(int parameterIndex, Timestamp timestamp)`
`void` `setTimestamp(int parameterIndex, Timestamp timestamp, Calendar cal)`
`void` `setTimestamp(String parameterName, Timestamp timestamp)`
`void` `setTimestamp(String parameterName, Timestamp timestamp, Calendar cal)`
`void` `setUnicodeStream(int parameterIndex, InputStream stream, int length)` Deprecated. Use `setCharacterStream`
`void` `setURL(int parameterIndex, URL url)`
`void` `setURL(String parameterName, URL val)`
`<T> T` `unwrap(Class<T> iface)`
`boolean` `wasNull()`

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

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

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

`registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, setObject, setObject`

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

`executeLargeUpdate, setObject, setObject`

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

`executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, getLargeMaxRows, getLargeUpdateCount, setLargeMaxRows`

### Constructor Detail

#### MariaDbCallableStatement

    public MariaDbCallableStatement(MariaDbConnection connection,
                                    String query)
                             throws SQLException

Constructor.

Parameters:
  `connection` - current connection
  `query` - query
Throws:
  `SQLException` - exception

### Method Detail

#### registerOutParameter

    public void registerOutParameter(int parameterIndex,
                                     int sqlType)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(int parameterIndex,
                                     int sqlType,
                                     int scale)
                              throws SQLException

Registers the parameter in ordinal position `parameterIndex` to be of JDBC type `sqlType`. All OUT parameters must be registered before a stored procedure is executed.

The JDBC type specified by `sqlType` for an OUT parameter determines the Java type that must be used in the `get` method to read the value of that parameter.

This version of `registerOutParameter` should be used when the parameter is of JDBC type `NUMERIC` or `DECIMAL`.

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
  `sqlType` - the SQL type code defined by `java.sql.Types`.
  `scale` - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
Throws:
  `SQLException` - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closed `CallableStatement`
  `SQLFeatureNotSupportedException` - if `sqlType` is a `ARRAY`, `BLOB`, `CLOB`, `DATALINK`, `JAVA_OBJECT`, `NCHAR`, `NCLOB`, `NVARCHAR`, `LONGNVARCHAR`, `REF`, `ROWID`, `SQLXML` or `STRUCT` data type and the JDBC driver does not support this data type
See Also:
  `Types`

#### registerOutParameter

    public void registerOutParameter(int parameterIndex,
                                     int sqlType,
                                     String typeName)
                              throws SQLException

Registers the designated output parameter. This version of the method `registerOutParameter` should be used for a user-defined or `REF` output parameter. Examples of user-defined types include: `STRUCT`, `DISTINCT`, `JAVA_OBJECT`, and named array types.

All OUT parameters must be registered before a stored procedure is executed.

For a user-defined parameter, the fully-qualified SQL type name of the parameter should also be given, while a `REF` parameter requires that the fully-qualified type name of the referenced type be given. A JDBC driver that does not need the type code and type name information may ignore it. To be portable, however, applications should always provide these values for user-defined and `REF` parameters. Although it is intended for user-defined and `REF` parameters, this method may be used to register a parameter of any JDBC type. If the parameter does not have a user-defined or `REF` type, the typeName parameter is ignored.

Note: When reading the value of an out parameter, you must use the getter method whose Java type corresponds to the parameter's registered SQL type.

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2,...
  `sqlType` - a value from `Types`
  `typeName` - the fully-qualified name of an SQL structured type
Throws:
  `SQLException` - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closed `CallableStatement`
  `SQLFeatureNotSupportedException` - if `sqlType` is a `ARRAY`, `BLOB`, `CLOB`, `DATALINK`, `JAVA_OBJECT`, `NCHAR`, `NCLOB`, `NVARCHAR`, `LONGNVARCHAR`, `REF`, `ROWID`, `SQLXML` or `STRUCT` data type and the JDBC driver does not support this data type
See Also:
  `Types`

#### registerOutParameter

    public void registerOutParameter(String parameterName,
                                     int sqlType)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(String parameterName,
                                     int sqlType,
                                     int scale)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(String parameterName,
                                     int sqlType,
                                     String typeName)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### wasNull

    public boolean wasNull()
                    throws SQLException

Specified by:
  `wasNull` in interface `CallableStatement`
Throws:
  `SQLException`

#### getString

    public String getString(int parameterIndex)
                     throws SQLException

Specified by:
  `getString` in interface `CallableStatement`
Throws:
  `SQLException`

#### getString

    public String getString(String parameterName)
                     throws SQLException

Specified by:
  `getString` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBoolean

    public boolean getBoolean(int parameterIndex)
                       throws SQLException

Specified by:
  `getBoolean` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBoolean

    public boolean getBoolean(String parameterName)
                       throws SQLException

Specified by:
  `getBoolean` in interface `CallableStatement`
Throws:
  `SQLException`

#### getByte

    public byte getByte(int parameterIndex)
                 throws SQLException

Specified by:
  `getByte` in interface `CallableStatement`
Throws:
  `SQLException`

#### getByte

    public byte getByte(String parameterName)
                 throws SQLException

Specified by:
  `getByte` in interface `CallableStatement`
Throws:
  `SQLException`

#### getShort

    public short getShort(int parameterIndex)
                   throws SQLException

Specified by:
  `getShort` in interface `CallableStatement`
Throws:
  `SQLException`

#### getShort

    public short getShort(String parameterName)
                   throws SQLException

Specified by:
  `getShort` in interface `CallableStatement`
Throws:
  `SQLException`

#### getInt

    public int getInt(int parameterIndex)
               throws SQLException

Specified by:
  `getInt` in interface `CallableStatement`
Throws:
  `SQLException`

#### getInt

    public int getInt(String parameterName)
               throws SQLException

Specified by:
  `getInt` in interface `CallableStatement`
Throws:
  `SQLException`

#### getLong

    public long getLong(int parameterIndex)
                 throws SQLException

Specified by:
  `getLong` in interface `CallableStatement`
Throws:
  `SQLException`

#### getLong

    public long getLong(String parameterName)
                 throws SQLException

Specified by:
  `getLong` in interface `CallableStatement`
Throws:
  `SQLException`

#### getFloat

    public float getFloat(int parameterIndex)
                   throws SQLException

Specified by:
  `getFloat` in interface `CallableStatement`
Throws:
  `SQLException`

#### getFloat

    public float getFloat(String parameterName)
                   throws SQLException

Specified by:
  `getFloat` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDouble

    public double getDouble(int parameterIndex)
                     throws SQLException

Specified by:
  `getDouble` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDouble

    public double getDouble(String parameterName)
                     throws SQLException

Specified by:
  `getDouble` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBigDecimal

    @Deprecated
    public BigDecimal getBigDecimal(int parameterIndex,
                                                 int scale)
                                          throws SQLException

Deprecated. use `getBigDecimal(int parameterIndex)` or `getBigDecimal(String parameterName)`
Bigdecimal with scale is deprecated.

Specified by:
  `getBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBigDecimal

    public BigDecimal getBigDecimal(int parameterIndex)
                             throws SQLException

Specified by:
  `getBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBigDecimal

    public BigDecimal getBigDecimal(String parameterName)
                             throws SQLException

Specified by:
  `getBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBytes

    public byte[] getBytes(int parameterIndex)
                    throws SQLException

Specified by:
  `getBytes` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBytes

    public byte[] getBytes(String parameterName)
                    throws SQLException

Specified by:
  `getBytes` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(int parameterIndex)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(int parameterIndex,
                        Calendar cal)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(String parameterName)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(String parameterName,
                        Calendar cal)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(int parameterIndex)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(int parameterIndex,
                        Calendar cal)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(String parameterName)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(String parameterName,
                        Calendar cal)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(int parameterIndex)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(int parameterIndex,
                                  Calendar cal)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(String parameterName)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(String parameterName,
                                  Calendar cal)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(int parameterIndex)
                     throws SQLException

Gets the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.

This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification. If the value is an SQL `NULL`, the driver returns a Java `null`.

This method may also be used to read database-specific abstract data types. In the JDBC 2.0 API, the behavior of method `getObject` is extended to materialize data of SQL user-defined types.

If `Connection.getTypeMap` does not throw a `SQLFeatureNotSupportedException`, then when a column contains a structured or distinct value, the behavior of this method is as if it were a call to: `getObject(columnIndex, this.getStatement().getConnection().getTypeMap())`. If `Connection.getTypeMap` does throw a `SQLFeatureNotSupportedException`, then structured values are not supported, and distinct values are mapped to the default Java class as determined by the underlying SQL type of the DISTINCT type.

Specified by:
  `getObject` in interface `CallableStatement`
Parameters:
  `parameterIndex` - the first column is 1, the second is 2, ...
Returns:
  a `java.lang.Object` holding the column value
Throws:
  `SQLException` - if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set

#### getObject

    public Object getObject(int parameterIndex,
                            Map<String,Class<?>> map)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(String parameterName)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(String parameterName,
                            Map<String,Class<?>> map)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public <T> T getObject(int arg0,
                           Class<T> arg1)
                    throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public <T> T getObject(String arg0,
                           Class<T> arg1)
                    throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getRef

    public Ref getRef(int parameterIndex)
               throws SQLException

Specified by:
  `getRef` in interface `CallableStatement`
Throws:
  `SQLException`

#### getRef

    public Ref getRef(String parameterName)
               throws SQLException

Specified by:
  `getRef` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBlob

    public Blob getBlob(int parameterIndex)
                 throws SQLException

Specified by:
  `getBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBlob

    public Blob getBlob(String parameterName)
                 throws SQLException

Specified by:
  `getBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getClob

    public Clob getClob(int parameterIndex)
                 throws SQLException

Specified by:
  `getClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getClob

    public Clob getClob(String parameterName)
                 throws SQLException

Specified by:
  `getClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getArray

    public Array getArray(int parameterIndex)
                   throws SQLException

Specified by:
  `getArray` in interface `CallableStatement`
Throws:
  `SQLException`

#### getArray

    public Array getArray(String parameterName)
                   throws SQLException

Specified by:
  `getArray` in interface `CallableStatement`
Throws:
  `SQLException`

#### getURL

    public URL getURL(int parameterIndex)
               throws SQLException

Specified by:
  `getURL` in interface `CallableStatement`
Throws:
  `SQLException`

#### getURL

    public URL getURL(String parameterName)
               throws SQLException

Specified by:
  `getURL` in interface `CallableStatement`
Throws:
  `SQLException`

#### setURL

    public void setURL(String parameterName,
                       URL val)
                throws SQLException

Specified by:
  `setURL` in interface `CallableStatement`
Throws:
  `SQLException`

#### setURL

    public void setURL(int parameterIndex,
                       URL url)
                throws SQLException

Specified by:
  `setURL` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNull

    public void setNull(String parameterName,
                        int sqlType)
                 throws SQLException

Specified by:
  `setNull` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNull

    public void setNull(int parameterIndex,
                        int sqlType)
                 throws SQLException

Specified by:
  `setNull` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNull

    public void setNull(int parameterIndex,
                        int sqlType,
                        String typeName)
                 throws SQLException

Specified by:
  `setNull` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNull

    public void setNull(String parameterName,
                        int sqlType,
                        String typeName)
                 throws SQLException

Specified by:
  `setNull` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBoolean

    public void setBoolean(int parameterIndex,
                           boolean bool)
                    throws SQLException

Specified by:
  `setBoolean` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBoolean

    public void setBoolean(String parameterName,
                           boolean bool)
                    throws SQLException

Specified by:
  `setBoolean` in interface `CallableStatement`
Throws:
  `SQLException`

#### setByte

    public void setByte(String parameterName,
                        byte value)
                 throws SQLException

Specified by:
  `setByte` in interface `CallableStatement`
Throws:
  `SQLException`

#### setByte

    public void setByte(int parameterIndex,
                        byte value)
                 throws SQLException

Specified by:
  `setByte` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setShort

    public void setShort(String parameterName,
                         short value)
                  throws SQLException

Specified by:
  `setShort` in interface `CallableStatement`
Throws:
  `SQLException`

#### setShort

    public void setShort(int parameterIndex,
                         short value)
                  throws SQLException

Specified by:
  `setShort` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setInt

    public void setInt(String parameterName,
                       int value)
                throws SQLException

Specified by:
  `setInt` in interface `CallableStatement`
Throws:
  `SQLException`

#### setInt

    public void setInt(int parameterIndex,
                       int value)
                throws SQLException

Specified by:
  `setInt` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setLong

    public void setLong(String parameterName,
                        long value)
                 throws SQLException

Specified by:
  `setLong` in interface `CallableStatement`
Throws:
  `SQLException`

#### setLong

    public void setLong(int parameterIndex,
                        long value)
                 throws SQLException

Specified by:
  `setLong` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setFloat

    public void setFloat(String parameterName,
                         float value)
                  throws SQLException

Specified by:
  `setFloat` in interface `CallableStatement`
Throws:
  `SQLException`

#### setFloat

    public void setFloat(int parameterIndex,
                         float value)
                  throws SQLException

Specified by:
  `setFloat` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setDouble

    public void setDouble(String parameterName,
                          double value)
                   throws SQLException

Specified by:
  `setDouble` in interface `CallableStatement`
Throws:
  `SQLException`

#### setDouble

    public void setDouble(int parameterIndex,
                          double value)
                   throws SQLException

Specified by:
  `setDouble` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBigDecimal

    public void setBigDecimal(String parameterName,
                              BigDecimal bigDecimal)
                       throws SQLException

Specified by:
  `setBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBigDecimal

    public void setBigDecimal(int parameterIndex,
                              BigDecimal bigDecimal)
                       throws SQLException

Specified by:
  `setBigDecimal` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setString

    public void setString(String parameterName,
                          String str)
                   throws SQLException

Specified by:
  `setString` in interface `CallableStatement`
Throws:
  `SQLException`

#### setString

    public void setString(int parameterIndex,
                          String str)
                   throws SQLException

Specified by:
  `setString` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBytes

    public void setBytes(String parameterName,
                         byte[] bytes)
                  throws SQLException

Specified by:
  `setBytes` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBytes

    public void setBytes(int parameterIndex,
                         byte[] bytes)
                  throws SQLException

Specified by:
  `setBytes` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setDate

    public void setDate(String parameterName,
                        Date date,
                        Calendar cal)
                 throws SQLException

Specified by:
  `setDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### setDate

    public void setDate(int parameterIndex,
                        Date date)
                 throws SQLException

Specified by:
  `setDate` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setDate

    public void setDate(int parameterIndex,
                        Date date,
                        Calendar cal)
                 throws SQLException

Specified by:
  `setDate` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setDate

    public void setDate(String parameterName,
                        Date date)
                 throws SQLException

Specified by:
  `setDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTime

    public void setTime(String parameterName,
                        Time time,
                        Calendar cal)
                 throws SQLException

Specified by:
  `setTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTime

    public void setTime(int parameterIndex,
                        Time time)
                 throws SQLException

Specified by:
  `setTime` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setTime

    public void setTime(int parameterIndex,
                        Time time,
                        Calendar cal)
                 throws SQLException

Specified by:
  `setTime` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setTime

    public void setTime(String parameterName,
                        Time time)
                 throws SQLException

Specified by:
  `setTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTimestamp

    public void setTimestamp(String parameterName,
                             Timestamp timestamp)
                      throws SQLException

Specified by:
  `setTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTimestamp

    public void setTimestamp(String parameterName,
                             Timestamp timestamp,
                             Calendar cal)
                      throws SQLException

Specified by:
  `setTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTimestamp

    public void setTimestamp(int parameterIndex,
                             Timestamp timestamp)
                      throws SQLException

Specified by:
  `setTimestamp` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setTimestamp

    public void setTimestamp(int parameterIndex,
                             Timestamp timestamp,
                             Calendar cal)
                      throws SQLException

Specified by:
  `setTimestamp` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream(String parameterName,
                               InputStream stream,
                               int length)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream(String parameterName,
                               InputStream stream,
                               long length)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream(String parameterName,
                               InputStream stream)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream(int parameterIndex,
                               InputStream stream,
                               int length)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream(int parameterIndex,
                               InputStream stream,
                               long length)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream(int parameterIndex,
                               InputStream stream)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream(String parameterName,
                                InputStream stream,
                                int length)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream(String parameterName,
                                InputStream stream,
                                long length)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream(String parameterName,
                                InputStream stream)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream(int parameterIndex,
                                InputStream stream,
                                int length)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream(int parameterIndex,
                                InputStream stream,
                                long length)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream(int parameterIndex,
                                InputStream stream)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(String parameterName,
                          Object obj,
                          int targetSqlType,
                          int scale)
                   throws SQLException

Specified by:
  `setObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(String parameterName,
                          Object obj,
                          int targetSqlType)
                   throws SQLException

Specified by:
  `setObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(String parameterName,
                          Object obj)
                   throws SQLException

Specified by:
  `setObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(int parameterIndex,
                          Object obj,
                          int targetSqlType)
                   throws SQLException

Specified by:
  `setObject` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(int parameterIndex,
                          Object obj)
                   throws SQLException

Specified by:
  `setObject` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(int parameterIndex,
                          Object obj,
                          int targetSqlType,
                          int scaleOrLength)
                   throws SQLException

Specified by:
  `setObject` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream(String parameterName,
                                   Reader reader,
                                   int length)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream(String parameterName,
                                   Reader reader,
                                   long length)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream(String parameterName,
                                   Reader reader)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream(int parameterIndex,
                                   Reader reader,
                                   int length)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream(int parameterIndex,
                                   Reader reader,
                                   long length)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream(int parameterIndex,
                                   Reader reader)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### getRowId

    public RowId getRowId(int parameterIndex)
                   throws SQLException

Specified by:
  `getRowId` in interface `CallableStatement`
Throws:
  `SQLException`

#### getRowId

    public RowId getRowId(String parameterName)
                   throws SQLException

Specified by:
  `getRowId` in interface `CallableStatement`
Throws:
  `SQLException`

#### setRowId

    public void setRowId(String parameterName,
                         RowId rowid)
                  throws SQLException

Specified by:
  `setRowId` in interface `CallableStatement`
Throws:
  `SQLException`

#### setRowId

    public void setRowId(int parameterIndex,
                         RowId rowid)
                  throws SQLException

Specified by:
  `setRowId` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNString

    public void setNString(String parameterName,
                           String value)
                    throws SQLException

Specified by:
  `setNString` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNString

    public void setNString(int parameterIndex,
                           String value)
                    throws SQLException

Specified by:
  `setNString` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNCharacterStream

    public void setNCharacterStream(String parameterName,
                                    Reader value,
                                    long length)
                             throws SQLException

Specified by:
  `setNCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNCharacterStream

    public void setNCharacterStream(String parameterName,
                                    Reader value)
                             throws SQLException

Specified by:
  `setNCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNCharacterStream

    public void setNCharacterStream(int parameterIndex,
                                    Reader value,
                                    long length)
                             throws SQLException

Specified by:
  `setNCharacterStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNCharacterStream

    public void setNCharacterStream(int parameterIndex,
                                    Reader value)
                             throws SQLException

Specified by:
  `setNCharacterStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob(String parameterName,
                         NClob value)
                  throws SQLException

Specified by:
  `setNClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob(String parameterName,
                         Reader reader,
                         long length)
                  throws SQLException

Specified by:
  `setNClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob(String parameterName,
                         Reader reader)
                  throws SQLException

Specified by:
  `setNClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNClob

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

Specified by:
  `setNClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob(int parameterIndex,
                         Reader reader,
                         long length)
                  throws SQLException

Specified by:
  `setNClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob(int parameterIndex,
                         Reader reader)
                  throws SQLException

Specified by:
  `setNClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob(int parameterIndex,
                        Clob clob)
                 throws SQLException

Specified by:
  `setClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob(String parameterName,
                        Reader reader,
                        long length)
                 throws SQLException

Specified by:
  `setClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob(String parameterName,
                        Clob clob)
                 throws SQLException

Specified by:
  `setClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob(String parameterName,
                        Reader reader)
                 throws SQLException

Specified by:
  `setClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob(int parameterIndex,
                        Reader reader,
                        long length)
                 throws SQLException

Specified by:
  `setClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob(int parameterIndex,
                        Reader reader)
                 throws SQLException

Specified by:
  `setClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob(String parameterName,
                        InputStream inputStream,
                        long length)
                 throws SQLException

Specified by:
  `setBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob(String parameterName,
                        Blob blob)
                 throws SQLException

Specified by:
  `setBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob(int parameterIndex,
                        Blob blob)
                 throws SQLException

Specified by:
  `setBlob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob(int parameterIndex,
                        InputStream inputStream,
                        long length)
                 throws SQLException

Specified by:
  `setBlob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob(int parameterIndex,
                        InputStream inputStream)
                 throws SQLException

Specified by:
  `setBlob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob(String parameterName,
                        InputStream inputStream)
                 throws SQLException

Specified by:
  `setBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNClob

    public NClob getNClob(int parameterIndex)
                   throws SQLException

Specified by:
  `getNClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNClob

    public NClob getNClob(String parameterName)
                   throws SQLException

Specified by:
  `getNClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setSQLXML

    public void setSQLXML(String parameterName,
                          SQLXML xmlObject)
                   throws SQLException

Specified by:
  `setSQLXML` in interface `CallableStatement`
Throws:
  `SQLException`

#### setSQLXML

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

Specified by:
  `setSQLXML` in interface `PreparedStatement`
Throws:
  `SQLException`

#### getSQLXML

    public SQLXML getSQLXML(int parameterIndex)
                     throws SQLException

Specified by:
  `getSQLXML` in interface `CallableStatement`
Throws:
  `SQLException`

#### getSQLXML

    public SQLXML getSQLXML(String parameterName)
                     throws SQLException

Specified by:
  `getSQLXML` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNString

    public String getNString(int parameterIndex)
                      throws SQLException

Specified by:
  `getNString` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNString

    public String getNString(String parameterName)
                      throws SQLException

Specified by:
  `getNString` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNCharacterStream

    public Reader getNCharacterStream(int parameterIndex)
                               throws SQLException

Specified by:
  `getNCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNCharacterStream

    public Reader getNCharacterStream(String parameterName)
                               throws SQLException

Specified by:
  `getNCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### getCharacterStream

    public Reader getCharacterStream(int parameterIndex)
                              throws SQLException

Specified by:
  `getCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### getCharacterStream

    public Reader getCharacterStream(String parameterName)
                              throws SQLException

Specified by:
  `getCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### executeQuery

    public ResultSet executeQuery()
                           throws SQLException

Executes the SQL statement in this `PreparedStatement` object, which may be any kind of SQL statement. Some prepared statements return multiple results; the `execute` method handles these complex statements as well as the simpler form of statements handled by the methods `executeQuery` and `executeUpdate`.

The `execute` method returns a `boolean` to indicate the form of the first result. You must call either the method `getResultSet` or `getUpdateCount` to retrieve the result; you must call `getInternalMoreResults` to move to any subsequent result(s).

Specified by:
  `executeQuery` in interface `PreparedStatement`
Returns:
  `true` if the first result is a `ResultSet` object; `false` if the first result is an update count or there is no result
Throws:
  `SQLException` - if a database access error occurs; this method is called on a closed `PreparedStatement` or an argument is supplied to this method
  `SQLTimeoutException` - when the driver has determined that the timeout value that was specified by the `setQueryTimeout` method has been exceeded and has at least attempted to cancel the currently running `Statement`
See Also:
  `Statement.execute(java.lang.String)`, `Statement.getResultSet()`, `Statement.getUpdateCount()`, `Statement.getMoreResults()`

#### executeQuery

    public ResultSet executeQuery(String sql)
                           throws SQLException

Specified by:
  `executeQuery` in interface `Statement`
Throws:
  `SQLException`

#### executeUpdate

    public int executeUpdate()
                      throws SQLException

Retrieves the current result as an update count; if the result is a `ResultSet` object or there are no more results, -1 is returned. This method should be called only once per result.

Specified by:
  `executeUpdate` in interface `PreparedStatement`
Returns:
  the current result as an update count; -1 if the current result is a `ResultSet` object or there are no more results
Throws:
  `SQLException` - if a database access error occurs or this method is called on a closed `Statement`
See Also:
  `execute()`

#### executeUpdate

    public int executeUpdate(String sql)
                      throws SQLException

Specified by:
  `executeUpdate` in interface `Statement`
Throws:
  `SQLException`

#### executeUpdate

    public int executeUpdate(String sql,
                             int autoGeneratedKeys)
                      throws SQLException

Specified by:
  `executeUpdate` in interface `Statement`
Throws:
  `SQLException`

#### executeUpdate

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

Specified by:
  `executeUpdate` in interface `Statement`
Throws:
  `SQLException`

#### executeUpdate

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

Specified by:
  `executeUpdate` in interface `Statement`
Throws:
  `SQLException`

#### setUnicodeStream

    @Deprecated
    public void setUnicodeStream(int parameterIndex,
                                              InputStream stream,
                                              int length)
                                       throws SQLException

Deprecated. Use `setCharacterStream`
Set unicode Stream.

Specified by:
  `setUnicodeStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### clearParameters

    public void clearParameters()
                         throws SQLException

Clears the current parameter values immediately.

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 the method `clearParameters`.

Specified by:
  `clearParameters` in interface `PreparedStatement`
Throws:
  `SQLException`

#### getWarnings

    public SQLWarning getWarnings()
                           throws SQLException

Specified by:
  `getWarnings` in interface `Statement`
Throws:
  `SQLException`

#### execute

    public boolean execute()
                    throws SQLException

Executes the SQL statement in this `PreparedStatement` object, which may be any kind of SQL statement. Some prepared statements return multiple results; the `execute` method handles these complex statements as well as the simpler form of statements handled by the methods `executeQuery` and `executeUpdate`.

The `execute` method returns a `boolean` to indicate the form of the first result. You must call either the method `getResultSet` or `getUpdateCount` to retrieve the result; you must call `getInternalMoreResults` to move to any subsequent result(s).

Specified by:
  `execute` in interface `PreparedStatement`
Returns:
  `true` if the first result is a `ResultSet` object; `false` if the first result is an update count or there is no result
Throws:
  `SQLException` - if a database access error occurs; this method is called on a closed `PreparedStatement` or an argument is supplied to this method
  `SQLTimeoutException` - when the driver has determined that the timeout value that was specified by the `setQueryTimeout` method has been exceeded and has at least attempted to cancel the currently running `Statement`
See Also:
  `Statement.execute(java.lang.String)`, `Statement.getResultSet()`, `Statement.getUpdateCount()`, `Statement.getMoreResults()`

#### execute

    public boolean execute(String sql)
                    throws SQLException

Specified by:
  `execute` in interface `Statement`
Throws:
  `SQLException`

#### execute

    public boolean execute(String sql,
                           int autoGeneratedKeys)
                    throws SQLException

Specified by:
  `execute` in interface `Statement`
Throws:
  `SQLException`

#### execute

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

Specified by:
  `execute` in interface `Statement`
Throws:
  `SQLException`

#### execute

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

Specified by:
  `execute` in interface `Statement`
Throws:
  `SQLException`

#### addBatch

    public void addBatch()
                  throws SQLException

Adds a set of parameters to this `PreparedStatement` object's batch of send.

Specified by:
  `addBatch` in interface `PreparedStatement`
Throws:
  `SQLException` - if a database access error occurs or this method is called on a closed `PreparedStatement`
See Also:
  `Statement.addBatch(java.lang.String)`

#### addBatch

    public void addBatch(String sql)
                  throws SQLException

Adds the given SQL command to the current list of send for this `Statement` object. The send in this list can be executed as a batch by calling the method `executeBatch`.

Note:This method cannot be called on a `PreparedStatement` or `CallableStatement`.

Specified by:
  `addBatch` in interface `Statement`
Parameters:
  `sql` - typically this is a SQL `INSERT` or `UPDATE` statement
Throws:
  `SQLException` - if a database access error occurs, this method is called on a closed `Statement`, the driver does not support batch updates, the method is called on a `PreparedStatement` or `CallableStatement`
See Also:
  `executeBatch()`, `DatabaseMetaData.supportsBatchUpdates()`

#### setRef

    public void setRef(int parameterIndex,
                       Ref ref)
                throws SQLException

Specified by:
  `setRef` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setArray

    public void setArray(int parameterIndex,
                         Array array)
                  throws SQLException

Specified by:
  `setArray` in interface `PreparedStatement`
Throws:
  `SQLException`

#### getParameterMetaData

    public ParameterMetaData getParameterMetaData()
                                           throws SQLException

Specified by:
  `getParameterMetaData` in interface `PreparedStatement`
Throws:
  `SQLException`

#### getMetaData

    public ResultSetMetaData getMetaData()
                                  throws SQLException

Retrieves the number, types and properties of this `ResultSet` object's columns.

Specified by:
  `getMetaData` in interface `PreparedStatement`
Returns:
  the description of this `ResultSet` object's columns
Throws:
  `SQLException` - if a database access error occurs or this method is called on a closed result set

#### close

    public void close()
               throws SQLException

Releases this `Statement` object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed. It is generally good practice to release resources as soon as you are finished with them to avoid tying up database resources.

Calling the method `close` on a `Statement` object that is already closed has no effect.

Note:When a `Statement` object is closed, its current `ResultSet` object, if one exists, is also closed.

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Statement`
Throws:
  `SQLException` - if a database access error occurs

#### getMaxFieldSize

    public int getMaxFieldSize()
                        throws SQLException

Specified by:
  `getMaxFieldSize` in interface `Statement`
Throws:
  `SQLException`

#### setMaxFieldSize

    public void setMaxFieldSize(int max)
                         throws SQLException

Specified by:
  `setMaxFieldSize` in interface `Statement`
Throws:
  `SQLException`

#### getMaxRows

    public int getMaxRows()
                   throws SQLException

Specified by:
  `getMaxRows` in interface `Statement`
Throws:
  `SQLException`

#### setMaxRows

    public void setMaxRows(int max)
                    throws SQLException

Specified by:
  `setMaxRows` in interface `Statement`
Throws:
  `SQLException`

#### setEscapeProcessing

    public void setEscapeProcessing(boolean enable)
                             throws SQLException

Specified by:
  `setEscapeProcessing` in interface `Statement`
Throws:
  `SQLException`

#### getQueryTimeout

    public int getQueryTimeout()
                        throws SQLException

Specified by:
  `getQueryTimeout` in interface `Statement`
Throws:
  `SQLException`

#### setQueryTimeout

    public void setQueryTimeout(int seconds)
                         throws SQLException

Specified by:
  `setQueryTimeout` in interface `Statement`
Throws:
  `SQLException`

#### cancel

    public void cancel()
                throws SQLException

Specified by:
  `cancel` in interface `Statement`
Throws:
  `SQLException`

#### clearWarnings

    public void clearWarnings()
                       throws SQLException

Specified by:
  `clearWarnings` in interface `Statement`
Throws:
  `SQLException`

#### setCursorName

    public void setCursorName(String name)
                       throws SQLException

Specified by:
  `setCursorName` in interface `Statement`
Throws:
  `SQLException`

#### getResultSet

    public ResultSet getResultSet()
                           throws SQLException

Specified by:
  `getResultSet` in interface `Statement`
Throws:
  `SQLException`

#### getUpdateCount

    public int getUpdateCount()
                       throws SQLException

Specified by:
  `getUpdateCount` in interface `Statement`
Throws:
  `SQLException`

#### getMoreResults

    public boolean getMoreResults()
                           throws SQLException

Specified by:
  `getMoreResults` in interface `Statement`
Throws:
  `SQLException`

#### getMoreResults

    public boolean getMoreResults(int current)
                           throws SQLException

Specified by:
  `getMoreResults` in interface `Statement`
Throws:
  `SQLException`

#### getFetchDirection

    public int getFetchDirection()
                          throws SQLException

Specified by:
  `getFetchDirection` in interface `Statement`
Throws:
  `SQLException`

#### setFetchDirection

    public void setFetchDirection(int direction)
                           throws SQLException

Specified by:
  `setFetchDirection` in interface `Statement`
Throws:
  `SQLException`

#### getFetchSize

    public int getFetchSize()
                     throws SQLException

Specified by:
  `getFetchSize` in interface `Statement`
Throws:
  `SQLException`

#### setFetchSize

    public void setFetchSize(int rows)
                      throws SQLException

Specified by:
  `setFetchSize` in interface `Statement`
Throws:
  `SQLException`

#### getResultSetConcurrency

    public int getResultSetConcurrency()
                                throws SQLException

Specified by:
  `getResultSetConcurrency` in interface `Statement`
Throws:
  `SQLException`

#### getResultSetType

    public int getResultSetType()
                         throws SQLException

Specified by:
  `getResultSetType` in interface `Statement`
Throws:
  `SQLException`

#### clearBatch

    public void clearBatch()
                    throws SQLException

Empties this `Statement` object's current list of SQL send.

Specified by:
  `clearBatch` in interface `Statement`
Throws:
  `SQLException` - if a database access error occurs, this method is called on a closed `Statement` or the driver does not support batch updates
See Also:
  `addBatch()`, `DatabaseMetaData.supportsBatchUpdates()`

#### executeBatch

    public int[] executeBatch()
                       throws SQLException

Submits a batch of send to the database for execution and if all send execute successfully, returns an array of update counts. The `int` elements of the array that is returned are ordered to correspond to the send in the batch, which are ordered according to the order in which they were added to the batch. The elements in the array returned by the method `executeBatch` may be one of the following:

1. A number greater than or equal to zero -- indicates that the command was processed successfully and is an update count giving the number of rows in the database that were affected by the command's execution
2. A value of `SUCCESS_NO_INFO` -- indicates that the command was processed successfully but that the number of rows affected is unknown

   If one of the send in a batch update fails to execute properly, this method throws a `BatchUpdateException`, and a JDBC driver may or may not continue to process the remaining send in the batch. However, the driver's behavior must be consistent with a particular DBMS, either always continuing to process send or never continuing to process send. If the driver continues processing after a failure, the array returned by the method `BatchUpdateException.getUpdateCounts` will contain as many elements as there are send in the batch, and at least one of the elements will be the following:

3. A value of `EXECUTE_FAILED` -- indicates that the command failed to execute successfully and occurs only if a driver continues to process send after a command fails

The possible implementations and return values have been modified in the Java 2 SDK, Standard Edition, version 1.3 to accommodate the option of continuing to process send in a batch update after a `BatchUpdateException` object has been thrown.

Specified by:
  `executeBatch` in interface `Statement`
Returns:
  an array of update counts containing one element for each command in the batch. The elements of the array are ordered according to the order in which send were added to the batch.
Throws:
  `SQLException` - if a database access error occurs, this method is called on a closed `Statement` or the driver does not support batch statements. Throws `BatchUpdateException` (a subclass of `SQLException`) if one of the send sent to the database fails to execute properly or attempts to return a result set.
  `SQLTimeoutException` - when the driver has determined that the timeout value that was specified by the `setQueryTimeout` method has been exceeded and has at least attempted to cancel the currently running `Statement`
Since:
  1.2
See Also:
  `addBatch()`, `DatabaseMetaData.supportsBatchUpdates()`

#### getConnection

    public Connection getConnection()
                             throws SQLException

Specified by:
  `getConnection` in interface `Statement`
Throws:
  `SQLException`

#### getGeneratedKeys

    public ResultSet getGeneratedKeys()
                               throws SQLException

Specified by:
  `getGeneratedKeys` in interface `Statement`
Throws:
  `SQLException`

#### getResultSetHoldability

    public int getResultSetHoldability()
                                throws SQLException

Specified by:
  `getResultSetHoldability` in interface `Statement`
Throws:
  `SQLException`

#### isClosed

    public boolean isClosed()
                     throws SQLException

Specified by:
  `isClosed` in interface `Statement`
Throws:
  `SQLException`

#### isPoolable

    public boolean isPoolable()
                       throws SQLException

Specified by:
  `isPoolable` in interface `Statement`
Throws:
  `SQLException`

#### setPoolable

    public void setPoolable(boolean poolable)
                     throws SQLException

Specified by:
  `setPoolable` in interface `Statement`
Throws:
  `SQLException`

#### unwrap

    public <T> T unwrap(Class<T> iface)
                 throws SQLException

Specified by:
  `unwrap` in interface `Wrapper`
Throws:
  `SQLException`

#### isWrapperFor

    public boolean isWrapperFor(Class<?> iface)
                         throws SQLException

Specified by:
  `isWrapperFor` in interface `Wrapper`
Throws:
  `SQLException`

#### closeOnCompletion

    public void closeOnCompletion()
                           throws SQLException

Specified by:
  `closeOnCompletion` in interface `Statement`
Throws:
  `SQLException`

#### isCloseOnCompletion

    public boolean isCloseOnCompletion()
                                throws SQLException

Specified by:
  `isCloseOnCompletion` in interface `Statement`
Throws:
  `SQLException`