Package com.microsoft.sqlserver.jdbc

## Class SQLServerCallableStatement

- java.lang.Object
- - com.microsoft.sqlserver.jdbc.SQLServerStatement
  - - com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
    - - com.microsoft.sqlserver.jdbc.SQLServerCallableStatement

All Implemented Interfaces:
  `ISQLServerCallableStatement`, `ISQLServerPreparedStatement`, `ISQLServerStatement`, `java.lang.AutoCloseable`, `java.sql.CallableStatement`, `java.sql.PreparedStatement`, `java.sql.Statement`, `java.sql.Wrapper`

    public class SQLServerCallableStatement
    extends SQLServerPreparedStatement
    implements ISQLServerCallableStatement

CallableStatement implements JDBC callable statements. CallableStatement allows the caller to specify the procedure name to call along with input parameter value and output parameter types. Callable statement also allows the return of a return status with the ? = call( ?, ..) JDBC syntax

The API javadoc for JDBC API methods that this class implements are not repeated here. Please see Sun's JDBC API interfaces javadoc for those details.

### Field Summary

### Fields inherited from class com.microsoft.sqlserver.jdbc.SQLServerStatement

`stmtColumnEncriptionSetting`

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

`CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO`

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`java.sql.Array` `getArray​(int parameterIndex)`
`java.sql.Array` `getArray​(java.lang.String parameterName)`
`java.io.InputStream` `getAsciiStream​(int parameterIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of ASCII characters.
`java.io.InputStream` `getAsciiStream​(java.lang.String parameterName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of ASCII characters.
`java.math.BigDecimal` `getBigDecimal​(int parameterIndex)`
`java.math.BigDecimal` `getBigDecimal​(int parameterIndex, int scale)` Deprecated.
`java.math.BigDecimal` `getBigDecimal​(java.lang.String parameterName)`
`java.math.BigDecimal` `getBigDecimal​(java.lang.String parameterName, int scale)` Deprecated.
`java.io.InputStream` `getBinaryStream​(int parameterIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of uninterpreted bytes.
`java.io.InputStream` `getBinaryStream​(java.lang.String parameterName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of uninterpreted `byte`s.
`java.sql.Blob` `getBlob​(int parameterIndex)`
`java.sql.Blob` `getBlob​(java.lang.String parameterName)`
`boolean` `getBoolean​(int index)`
`boolean` `getBoolean​(java.lang.String parameterName)`
`byte` `getByte​(int index)`
`byte` `getByte​(java.lang.String parameterName)`
`byte[]` `getBytes​(int index)`
`byte[]` `getBytes​(java.lang.String parameterName)`
`java.io.Reader` `getCharacterStream​(int parameterIndex)`
`java.io.Reader` `getCharacterStream​(java.lang.String parameterName)`
`java.sql.Clob` `getClob​(int parameterIndex)`
`java.sql.Clob` `getClob​(java.lang.String parameterName)`
`java.sql.Date` `getDate​(int index)`
`java.sql.Date` `getDate​(int index, java.util.Calendar cal)`
`java.sql.Date` `getDate​(java.lang.String parameterName)`
`java.sql.Date` `getDate​(java.lang.String parameterName, java.util.Calendar cal)`
`java.sql.Timestamp` `getDateTime​(int index)` Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
`java.sql.Timestamp` `getDateTime​(int index, java.util.Calendar cal)` Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
`java.sql.Timestamp` `getDateTime​(java.lang.String parameterName)` Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
`java.sql.Timestamp` `getDateTime​(java.lang.String name, java.util.Calendar cal)` Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
`DateTimeOffset` `getDateTimeOffset​(int index)` Gets the DateTimeOffset value of parameter with index parameterIndex
`DateTimeOffset` `getDateTimeOffset​(java.lang.String parameterName)` Gets the DateTimeOffset value of parameter with name parameterName
`double` `getDouble​(int index)`
`double` `getDouble​(java.lang.String parameterName)`
`float` `getFloat​(int index)`
`float` `getFloat​(java.lang.String parameterName)`
`int` `getInt​(int index)`
`int` `getInt​(java.lang.String parameterName)`
`long` `getLong​(int index)`
`long` `getLong​(java.lang.String parameterName)`
`java.math.BigDecimal` `getMoney​(int parameterIndex)` Retrieves the value of the column specified as a java.math.BigDecimal object.
`java.math.BigDecimal` `getMoney​(java.lang.String parameterName)` Retrieves the value of the column specified as a java.math.BigDecimal object.
`java.io.Reader` `getNCharacterStream​(int parameterIndex)`
`java.io.Reader` `getNCharacterStream​(java.lang.String parameterName)`
`java.sql.NClob` `getNClob​(int parameterIndex)`
`java.sql.NClob` `getNClob​(java.lang.String parameterName)`
`java.lang.String` `getNString​(int parameterIndex)`
`java.lang.String` `getNString​(java.lang.String parameterName)`
`java.lang.Object` `getObject​(int index)`
`<T> T` `getObject​(int index, java.lang.Class<T> type)`
`java.lang.Object` `getObject​(int parameterIndex, java.util.Map<java.lang.String,java.lang.Class<?>> map)`
`java.lang.Object` `getObject​(java.lang.String parameterName)`
`<T> T` `getObject​(java.lang.String parameterName, java.lang.Class<T> type)`
`java.lang.Object` `getObject​(java.lang.String parameterName, java.util.Map<java.lang.String,java.lang.Class<?>> m)`
`java.sql.Ref` `getRef​(int parameterIndex)`
`java.sql.Ref` `getRef​(java.lang.String parameterName)`
`java.sql.RowId` `getRowId​(int parameterIndex)`
`java.sql.RowId` `getRowId​(java.lang.String parameterName)`
`short` `getShort​(int index)`
`short` `getShort​(java.lang.String parameterName)`
`java.sql.Timestamp` `getSmallDateTime​(int index)` Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
`java.sql.Timestamp` `getSmallDateTime​(int index, java.util.Calendar cal)` Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
`java.sql.Timestamp` `getSmallDateTime​(java.lang.String parameterName)` Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
`java.sql.Timestamp` `getSmallDateTime​(java.lang.String name, java.util.Calendar cal)` Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
`java.math.BigDecimal` `getSmallMoney​(int parameterIndex)` Retrieves the value of the column specified as a java.math.BigDecimal object.
`java.math.BigDecimal` `getSmallMoney​(java.lang.String parameterName)` Retrieves the value of the column specified as a java.math.BigDecimal object.
`java.sql.SQLXML` `getSQLXML​(int parameterIndex)`
`java.sql.SQLXML` `getSQLXML​(java.lang.String parameterName)`
`java.lang.String` `getString​(int index)`
`java.lang.String` `getString​(java.lang.String parameterName)`
`java.sql.Time` `getTime​(int index)`
`java.sql.Time` `getTime​(int index, java.util.Calendar cal)`
`java.sql.Time` `getTime​(java.lang.String parameterName)`
`java.sql.Time` `getTime​(java.lang.String parameterName, java.util.Calendar cal)`
`java.sql.Timestamp` `getTimestamp​(int index)`
`java.sql.Timestamp` `getTimestamp​(int index, java.util.Calendar cal)`
`java.sql.Timestamp` `getTimestamp​(java.lang.String parameterName)`
`java.sql.Timestamp` `getTimestamp​(java.lang.String name, java.util.Calendar cal)`
`java.net.URL` `getURL​(int parameterIndex)`
`java.net.URL` `getURL​(java.lang.String parameterName)`
`void` `registerOutParameter​(int index, int sqlType)`
`void` `registerOutParameter​(int index, int sqlType, int scale)`
`void` `registerOutParameter​(int index, int sqlType, int precision, int scale)` Registers the parameter in ordinal position index to be of JDBC type sqlType.
`void` `registerOutParameter​(int index, int sqlType, java.lang.String typeName)`
`void` `registerOutParameter​(int paramterIndex, java.sql.SQLType sqlType)`
`void` `registerOutParameter​(int paramterIndex, java.sql.SQLType sqlType, int scale)`
`void` `registerOutParameter​(int paramterIndex, java.sql.SQLType sqlType, int precision, int scale)` Registers the parameter in ordinal position index to be of JDBC type sqlType.
`void` `registerOutParameter​(int paramterIndex, java.sql.SQLType sqlType, java.lang.String typeName)`
`void` `registerOutParameter​(java.lang.String parameterName, int sqlType)`
`void` `registerOutParameter​(java.lang.String parameterName, int sqlType, int scale)`
`void` `registerOutParameter​(java.lang.String parameterName, int sqlType, int precision, int scale)` Registers the parameter in ordinal position index to be of JDBC type sqlType.
`void` `registerOutParameter​(java.lang.String parameterName, int sqlType, java.lang.String typeName)`
`void` `registerOutParameter​(java.lang.String parameterName, java.sql.SQLType sqlType)`
`void` `registerOutParameter​(java.lang.String parameterName, java.sql.SQLType sqlType, int scale)`
`void` `registerOutParameter​(java.lang.String parameterName, java.sql.SQLType sqlType, int precision, int scale)` Registers the parameter in ordinal position index to be of JDBC type sqlType.
`void` `registerOutParameter​(java.lang.String parameterName, java.sql.SQLType sqlType, java.lang.String typeName)`
`void` `setAsciiStream​(java.lang.String parameterName, java.io.InputStream value)`
`void` `setAsciiStream​(java.lang.String parameterName, java.io.InputStream value, int length)`
`void` `setAsciiStream​(java.lang.String parameterName, java.io.InputStream value, long length)`
`void` `setBigDecimal​(java.lang.String parameterName, java.math.BigDecimal value)`
`void` `setBigDecimal​(java.lang.String parameterName, java.math.BigDecimal value, int precision, int scale)` Sets the designated parameter to the given `java.math.BigDecimal` value.
`void` `setBigDecimal​(java.lang.String parameterName, java.math.BigDecimal value, int precision, int scale, boolean forceEncrypt)` Sets the designated parameter to the given `java.math.BigDecimal` value.
`void` `setBinaryStream​(java.lang.String parameterName, java.io.InputStream value)`
`void` `setBinaryStream​(java.lang.String parameterName, java.io.InputStream value, int length)`
`void` `setBinaryStream​(java.lang.String parameterName, java.io.InputStream value, long length)`
`void` `setBlob​(java.lang.String parameterName, java.io.InputStream value)`
`void` `setBlob​(java.lang.String parameterName, java.io.InputStream inputStream, long length)`
`void` `setBlob​(java.lang.String parameterName, java.sql.Blob inputStream)`
`void` `setBoolean​(java.lang.String parameterName, boolean value)`
`void` `setBoolean​(java.lang.String parameterName, boolean value, boolean forceEncrypt)` Sets the designated parameter to the given Java `boolean` value.
`void` `setByte​(java.lang.String parameterName, byte value)`
`void` `setByte​(java.lang.String parameterName, byte value, boolean forceEncrypt)` Sets the designated parameter to the given Java `byte` value.
`void` `setBytes​(java.lang.String parameterName, byte[] value)`
`void` `setBytes​(java.lang.String parameterName, byte[] value, boolean forceEncrypt)` Sets the designated parameter to the given Java array of bytes.
`void` `setCharacterStream​(java.lang.String parameterName, java.io.Reader reader)`
`void` `setCharacterStream​(java.lang.String parameterName, java.io.Reader value, int length)`
`void` `setCharacterStream​(java.lang.String parameterName, java.io.Reader reader, long length)`
`void` `setClob​(java.lang.String parameterName, java.io.Reader reader)`
`void` `setClob​(java.lang.String parameterName, java.io.Reader value, long length)`
`void` `setClob​(java.lang.String parameterName, java.sql.Clob value)`
`void` `setDate​(java.lang.String parameterName, java.sql.Date value)`
`void` `setDate​(java.lang.String parameterName, java.sql.Date value, java.util.Calendar calendar)`
`void` `setDate​(java.lang.String parameterName, java.sql.Date value, java.util.Calendar calendar, boolean forceEncrypt)` Sets the designated parameter to the given `java.sql.Date` value, using the given `Calendar` object.
`void` `setDateTime​(java.lang.String parameterName, java.sql.Timestamp value)` Sets the designated parameter to the given `java.sql.Timestamp` value.
`void` `setDateTime​(java.lang.String parameterName, java.sql.Timestamp value, boolean forceEncrypt)` Sets the designated parameter to the given `java.sql.Timestamp` value.
`void` `setDateTimeOffset​(java.lang.String parameterName, DateTimeOffset value)` Sets parameter parameterName to DateTimeOffset x
`void` `setDateTimeOffset​(java.lang.String parameterName, DateTimeOffset value, int scale)` Sets parameter parameterName to DateTimeOffset x
`void` `setDateTimeOffset​(java.lang.String parameterName, DateTimeOffset value, int scale, boolean forceEncrypt)` Sets parameter parameterName to DateTimeOffset x
`void` `setDouble​(java.lang.String parameterName, double value)`
`void` `setDouble​(java.lang.String parameterName, double value, boolean forceEncrypt)` Sets the designated parameter to the given Java `double` value.
`void` `setFloat​(java.lang.String parameterName, float value)`
`void` `setFloat​(java.lang.String parameterName, float value, boolean forceEncrypt)` Sets the designated parameter to the given Java `float` value.
`void` `setInt​(java.lang.String parameterName, int value)`
`void` `setInt​(java.lang.String parameterName, int value, boolean forceEncrypt)` Sets the designated parameter to the given Java `int` value.
`void` `setLong​(java.lang.String parameterName, long value)`
`void` `setLong​(java.lang.String parameterName, long value, boolean forceEncrypt)` Sets the designated parameter to the given Java `long` value.
`void` `setMoney​(java.lang.String parameterName, java.math.BigDecimal value)` Sets the designated parameter to the given Java `java.math.BigDecimal` value.
`void` `setMoney​(java.lang.String parameterName, java.math.BigDecimal value, boolean forceEncrypt)` Sets the designated parameter to the given Java `java.math.BigDecimal` value.
`void` `setNCharacterStream​(java.lang.String parameterName, java.io.Reader value)`
`void` `setNCharacterStream​(java.lang.String parameterName, java.io.Reader value, long length)`
`void` `setNClob​(java.lang.String parameterName, java.io.Reader reader)`
`void` `setNClob​(java.lang.String parameterName, java.io.Reader reader, long length)`
`void` `setNClob​(java.lang.String parameterName, java.sql.NClob value)`
`void` `setNString​(java.lang.String parameterName, java.lang.String value)`
`void` `setNString​(java.lang.String parameterName, java.lang.String value, boolean forceEncrypt)` Sets the designated parameter to the given `String` object.
`void` `setNull​(java.lang.String parameterName, int nType)`
`void` `setNull​(java.lang.String parameterName, int nType, java.lang.String sTypeName)`
`void` `setObject​(java.lang.String parameterName, java.lang.Object value)`
`void` `setObject​(java.lang.String parameterName, java.lang.Object value, int sqlType)`
`void` `setObject​(java.lang.String parameterName, java.lang.Object value, int sqlType, int decimals)`
`void` `setObject​(java.lang.String parameterName, java.lang.Object value, int sqlType, int decimals, boolean forceEncrypt)` Sets the value of the designated parameter with the given object.
`void` `setObject​(java.lang.String parameterName, java.lang.Object value, int targetSqlType, java.lang.Integer precision, int scale)` Sets the value of the designated parameter with the given object.
`void` `setObject​(java.lang.String parameterName, java.lang.Object value, java.sql.SQLType jdbcType)`
`void` `setObject​(java.lang.String parameterName, java.lang.Object value, java.sql.SQLType jdbcType, int scale)`
`void` `setObject​(java.lang.String parameterName, java.lang.Object value, java.sql.SQLType jdbcType, int scale, boolean forceEncrypt)` Sets the value of the designated parameter with the given object.
`void` `setRowId​(java.lang.String parameterName, java.sql.RowId value)`
`void` `setShort​(java.lang.String parameterName, short value)`
`void` `setShort​(java.lang.String parameterName, short value, boolean forceEncrypt)` Sets the designated parameter to the given Java `short` value.
`void` `setSmallDateTime​(java.lang.String parameterName, java.sql.Timestamp value)` Sets the designated parameter to the given `java.sql.Timestamp` value.
`void` `setSmallDateTime​(java.lang.String parameterName, java.sql.Timestamp value, boolean forceEncrypt)` Sets the designated parameter to the given `java.sql.Timestamp` value.
`void` `setSmallMoney​(java.lang.String parameterName, java.math.BigDecimal value)` Sets the designated parameter to the given Java `java.math.BigDecimal` value.
`void` `setSmallMoney​(java.lang.String parameterName, java.math.BigDecimal value, boolean forceEncrypt)` Sets the designated parameter to the given Java `java.math.BigDecimal` value.
`void` `setSQLXML​(java.lang.String parameterName, java.sql.SQLXML xmlObject)`
`void` `setString​(java.lang.String parameterName, java.lang.String value)`
`void` `setString​(java.lang.String parameterName, java.lang.String value, boolean forceEncrypt)` Sets the designated parameter to the given Java `String` value.
`void` `setStructured​(java.lang.String parameterName, java.lang.String tvpName, ISQLServerDataRecord tvpDataRecord)` Populates a table valued parameter passed to a stored procedure with an ISQLServerDataRecord object.
`void` `setStructured​(java.lang.String parameterName, java.lang.String tvpName, SQLServerDataTable tvpDataTable)` Populates a table valued parameter passed to a stored procedure with a data table.
`void` `setStructured​(java.lang.String parameterName, java.lang.String tvpName, java.sql.ResultSet tvpResultSet)` Populates a table valued parameter passed to a stored procedure with a ResultSet retrieved from another table
`void` `setTime​(java.lang.String parameterName, java.sql.Time value)`
`void` `setTime​(java.lang.String parameterName, java.sql.Time value, int scale)` Sets the designated parameter to the given `java.sql.Time` value.
`void` `setTime​(java.lang.String parameterName, java.sql.Time value, int scale, boolean forceEncrypt)` Sets the designated parameter to the given `java.sql.Time` value.
`void` `setTime​(java.lang.String parameterName, java.sql.Time value, java.util.Calendar calendar)`
`void` `setTime​(java.lang.String parameterName, java.sql.Time value, java.util.Calendar calendar, boolean forceEncrypt)` Sets the designated parameter to the given `java.sql.Time` value, using the given `Calendar` object.
`void` `setTimestamp​(java.lang.String parameterName, java.sql.Timestamp value)`
`void` `setTimestamp​(java.lang.String parameterName, java.sql.Timestamp value, int scale)` Sets the designated parameter to the given `java.sql.Timestamp` value.
`void` `setTimestamp​(java.lang.String parameterName, java.sql.Timestamp value, int scale, boolean forceEncrypt)` Sets the designated parameter to the given `java.sql.Timestamp` value.
`void` `setTimestamp​(java.lang.String parameterName, java.sql.Timestamp value, java.util.Calendar calendar)`
`void` `setTimestamp​(java.lang.String parameterName, java.sql.Timestamp value, java.util.Calendar calendar, boolean forceEncrypt)` Sets the designated parameter to the given `java.sql.Timestamp` value.
`void` `setUniqueIdentifier​(java.lang.String parameterName, java.lang.String guid)` Sets the designated parameter to the given `String` value.
`void` `setUniqueIdentifier​(java.lang.String parameterName, java.lang.String guid, boolean forceEncrypt)` Sets the designated parameter to the given `String` value.
`void` `setURL​(java.lang.String parameterName, java.net.URL url)`
`boolean` `wasNull()`

### Methods inherited from interface com.microsoft.sqlserver.jdbc.ISQLServerPreparedStatement

`getParameterMetaData, getPreparedStatementHandle, setBigDecimal, setBigDecimal, setBoolean, setByte, setBytes, setDate, setDateTime, setDateTime, setDateTimeOffset, setDateTimeOffset, setDateTimeOffset, setDouble, setFloat, setGeography, setGeometry, setInt, setLong, setMoney, setMoney, setNString, setObject, setObject, setObject, setObject, setShort, setSmallDateTime, setSmallDateTime, setSmallMoney, setSmallMoney, setString, setStructured, setStructured, setStructured, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setUniqueIdentifier, setUniqueIdentifier`

### Methods inherited from interface com.microsoft.sqlserver.jdbc.ISQLServerStatement

`getCancelQueryTimeout, getResponseBuffering, setCancelQueryTimeout, setResponseBuffering`

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

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

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

`addBatch, clearParameters, execute, executeLargeUpdate, executeQuery, executeUpdate, getMetaData, getParameterMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL`

### Methods inherited from class com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement

`addBatch, addBatch, clearBatch, clearParameters, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeQuery, executeQuery, executeUpdate, executeUpdate, getMetaData, getParameterMetaData, getParameterMetaData, getPreparedStatementHandle, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDate, setDateTime, setDateTime, setDateTimeOffset, setDateTimeOffset, setDateTimeOffset, setDouble, setDouble, setFloat, setFloat, setGeography, setGeometry, setInt, setInt, setLong, setLong, setMoney, setMoney, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNString, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setObject, setObject, setObject, setObject, setRef, setRowId, setShort, setShort, setSmallDateTime, setSmallDateTime, setSmallMoney, setSmallMoney, setSQLXML, setString, setString, setStructured, setStructured, setStructured, setTime, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setUnicodeStream, setUniqueIdentifier, setUniqueIdentifier, setURL`

### Methods inherited from class com.microsoft.sqlserver.jdbc.SQLServerStatement

`cancel, clearWarnings, close, closeOnCompletion, execute, execute, execute, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeUpdate, executeUpdate, executeUpdate, getCancelQueryTimeout, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResponseBuffering, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getStmtColumnEncriptionSetting, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isWrapperFor, setCancelQueryTimeout, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, setResponseBuffering, toString, unwrap`

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

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

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

`isWrapperFor, unwrap`

### Method Detail

#### registerOutParameter

    public void registerOutParameter​(int index,
                                     int sqlType)
                              throws SQLServerException

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

    public void registerOutParameter​(int index,
                                     int sqlType,
                                     java.lang.String typeName)
                              throws SQLServerException

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

    public void registerOutParameter​(int index,
                                     int sqlType,
                                     int scale)
                              throws SQLServerException

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

    public void registerOutParameter​(int index,
                                     int sqlType,
                                     int precision,
                                     int scale)
                              throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Registers the parameter in ordinal position index 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.

Specified by:
  `registerOutParameter` in interface `ISQLServerCallableStatement`
Parameters:
  `index` - the first column is 1, the second is 2, ...
  `sqlType` - the JDBC type code defined by SQLType to use to register the OUT Parameter.
  `precision` - the sum of the desired number of digits to the left and right of the decimal point. It must be greater than or equal to zero.
  `scale` - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
Throws:
  `SQLServerException` - If any errors occur.

#### getInt

    public int getInt​(int index)
               throws SQLServerException

Specified by:
  `getInt` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getInt

    public int getInt​(java.lang.String parameterName)
               throws SQLServerException

Specified by:
  `getInt` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getString

    public java.lang.String getString​(int index)
                               throws SQLServerException

Specified by:
  `getString` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getString

    public java.lang.String getString​(java.lang.String parameterName)
                               throws SQLServerException

Specified by:
  `getString` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getNString

    public final java.lang.String getNString​(int parameterIndex)
                                      throws java.sql.SQLException

Specified by:
  `getNString` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getNString

    public final java.lang.String getNString​(java.lang.String parameterName)
                                      throws java.sql.SQLException

Specified by:
  `getNString` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getBigDecimal

    @Deprecated
    public java.math.BigDecimal getBigDecimal​(int parameterIndex,
                                              int scale)
                                       throws java.sql.SQLException

Deprecated.

Specified by:
  `getBigDecimal` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getBigDecimal

    @Deprecated
    public java.math.BigDecimal getBigDecimal​(java.lang.String parameterName,
                                              int scale)
                                       throws SQLServerException

Deprecated.

Specified by:
  `getBigDecimal` in interface `ISQLServerCallableStatement`
Throws:
  `SQLServerException`

#### getBoolean

    public boolean getBoolean​(int index)
                       throws SQLServerException

Specified by:
  `getBoolean` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getBoolean

    public boolean getBoolean​(java.lang.String parameterName)
                       throws SQLServerException

Specified by:
  `getBoolean` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getByte

    public byte getByte​(int index)
                 throws SQLServerException

Specified by:
  `getByte` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getByte

    public byte getByte​(java.lang.String parameterName)
                 throws SQLServerException

Specified by:
  `getByte` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getBytes

    public byte[] getBytes​(int index)
                    throws SQLServerException

Specified by:
  `getBytes` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getBytes

    public byte[] getBytes​(java.lang.String parameterName)
                    throws SQLServerException

Specified by:
  `getBytes` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getDate

    public java.sql.Date getDate​(int index)
                          throws SQLServerException

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getDate

    public java.sql.Date getDate​(java.lang.String parameterName)
                          throws SQLServerException

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getDate

    public java.sql.Date getDate​(int index,
                                 java.util.Calendar cal)
                          throws SQLServerException

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getDate

    public java.sql.Date getDate​(java.lang.String parameterName,
                                 java.util.Calendar cal)
                          throws SQLServerException

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getDouble

    public double getDouble​(int index)
                     throws SQLServerException

Specified by:
  `getDouble` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getDouble

    public double getDouble​(java.lang.String parameterName)
                     throws SQLServerException

Specified by:
  `getDouble` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getFloat

    public float getFloat​(int index)
                   throws SQLServerException

Specified by:
  `getFloat` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getFloat

    public float getFloat​(java.lang.String parameterName)
                   throws SQLServerException

Specified by:
  `getFloat` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getLong

    public long getLong​(int index)
                 throws SQLServerException

Specified by:
  `getLong` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getLong

    public long getLong​(java.lang.String parameterName)
                 throws SQLServerException

Specified by:
  `getLong` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getObject

    public java.lang.Object getObject​(int index)
                               throws SQLServerException

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getObject

    public <T> T getObject​(int index,
                           java.lang.Class<T> type)
                    throws java.sql.SQLException

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getObject

    public java.lang.Object getObject​(java.lang.String parameterName)
                               throws SQLServerException

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getObject

    public <T> T getObject​(java.lang.String parameterName,
                           java.lang.Class<T> type)
                    throws java.sql.SQLException

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getShort

    public short getShort​(int index)
                   throws SQLServerException

Specified by:
  `getShort` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getShort

    public short getShort​(java.lang.String parameterName)
                   throws SQLServerException

Specified by:
  `getShort` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getTime

    public java.sql.Time getTime​(int index)
                          throws SQLServerException

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getTime

    public java.sql.Time getTime​(java.lang.String parameterName)
                          throws SQLServerException

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getTime

    public java.sql.Time getTime​(int index,
                                 java.util.Calendar cal)
                          throws SQLServerException

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getTime

    public java.sql.Time getTime​(java.lang.String parameterName,
                                 java.util.Calendar cal)
                          throws SQLServerException

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(int index)
                                    throws SQLServerException

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(java.lang.String parameterName)
                                    throws SQLServerException

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(int index,
                                           java.util.Calendar cal)
                                    throws SQLServerException

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(java.lang.String name,
                                           java.util.Calendar cal)
                                    throws SQLServerException

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getDateTime

    public java.sql.Timestamp getDateTime​(int index)
                                   throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.

Specified by:
  `getDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `index` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - when an error occurs

#### getDateTime

    public java.sql.Timestamp getDateTime​(java.lang.String parameterName)
                                   throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.

Specified by:
  `getDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Returns:
  the column value; if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - when an error occurs

#### getDateTime

    public java.sql.Timestamp getDateTime​(int index,
                                          java.util.Calendar cal)
                                   throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.

Specified by:
  `getDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `index` - the first column is 1, the second is 2, ...
  `cal` - the java.util.Calendar object to use in constructing the dateTime
Returns:
  the column value; if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - when an error occurs

#### getDateTime

    public java.sql.Timestamp getDateTime​(java.lang.String name,
                                          java.util.Calendar cal)
                                   throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.

Specified by:
  `getDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `name` - the name of the column
  `cal` - the java.util.Calendar object to use in constructing the dateTime
Returns:
  the column value; if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - when an error occurs

#### getSmallDateTime

    public java.sql.Timestamp getSmallDateTime​(int index)
                                        throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.

Specified by:
  `getSmallDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `index` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - when an error occurs

#### getSmallDateTime

    public java.sql.Timestamp getSmallDateTime​(java.lang.String parameterName)
                                        throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.

Specified by:
  `getSmallDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - The name of a column.
Returns:
  the column value; if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - when an error occurs

#### getSmallDateTime

    public java.sql.Timestamp getSmallDateTime​(int index,
                                               java.util.Calendar cal)
                                        throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.

Specified by:
  `getSmallDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `index` - the first column is 1, the second is 2, ...
  `cal` - the java.util.Calendar object to use in constructing the smalldateTime
Returns:
  the column value; if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - when an error occurs

#### getSmallDateTime

    public java.sql.Timestamp getSmallDateTime​(java.lang.String name,
                                               java.util.Calendar cal)
                                        throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.

Specified by:
  `getSmallDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `name` - The name of a column
  `cal` - the java.util.Calendar object to use in constructing the smalldateTime
Returns:
  the column value; if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - when an error occurs

#### getDateTimeOffset

    public DateTimeOffset getDateTimeOffset​(int index)
                                     throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Gets the DateTimeOffset value of parameter with index parameterIndex

Specified by:
  `getDateTimeOffset` in interface `ISQLServerCallableStatement`
Parameters:
  `index` - the first parameter is 1, the second is 2, and so on
Returns:
  DateTimeOffset value if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - if parameterIndex is out of range; if a database access error occurs or this method is called on a closed `CallableStatement`

#### getDateTimeOffset

    public DateTimeOffset getDateTimeOffset​(java.lang.String parameterName)
                                     throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Gets the DateTimeOffset value of parameter with name parameterName

Specified by:
  `getDateTimeOffset` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
Returns:
  DateTimeOffset value if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### wasNull

    public boolean wasNull()
                    throws SQLServerException

Specified by:
  `wasNull` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getAsciiStream

    public final java.io.InputStream getAsciiStream​(int parameterIndex)
                                             throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large `LONGVARCHAR` values. The JDBC driver will do any necessary conversion from the database format into ASCII.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return `0` when the method `InputStream.available` is called whether there is data available or not.

Specified by:
  `getAsciiStream` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterIndex` - the first column is 1, the second is 2, ...
Returns:
  a Java input stream that delivers the database column value as a stream of one-byte ASCII characters; if the value is SQL `NULL`, the value returned is `null`
Throws:
  `SQLServerException` - if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set

#### getAsciiStream

    public final java.io.InputStream getAsciiStream​(java.lang.String parameterName)
                                             throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large `LONGVARCHAR` values. The JDBC driver will do any necessary conversion from the database format into ASCII.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return `0` when the method `available` is called whether there is data available or not.

Specified by:
  `getAsciiStream` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
Returns:
  a Java input stream that delivers the database column value as a stream of one-byte ASCII characters. If the value is SQL `NULL`, the value returned is `null`.
Throws:
  `SQLServerException` - if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set

#### getBigDecimal

    public java.math.BigDecimal getBigDecimal​(int parameterIndex)
                                       throws SQLServerException

Specified by:
  `getBigDecimal` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getBigDecimal

    public java.math.BigDecimal getBigDecimal​(java.lang.String parameterName)
                                       throws SQLServerException

Specified by:
  `getBigDecimal` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getMoney

    public java.math.BigDecimal getMoney​(int parameterIndex)
                                  throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the column specified as a java.math.BigDecimal object.

Specified by:
  `getMoney` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterIndex` - The zero-based ordinal of a column.
Returns:
  the column value; if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - when an error occurs

#### getMoney

    public java.math.BigDecimal getMoney​(java.lang.String parameterName)
                                  throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the column specified as a java.math.BigDecimal object.

Specified by:
  `getMoney` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - The name of a column.
Returns:
  the column value; if the value is SQL NULL, the value returned is null.
Throws:
  `SQLServerException` - when an error occurs

#### getSmallMoney

    public java.math.BigDecimal getSmallMoney​(int parameterIndex)
                                       throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the column specified as a java.math.BigDecimal object.

Specified by:
  `getSmallMoney` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterIndex` - The zero-based ordinal of a column.
Returns:
  the column value; if the value is SQL NULL, the value returned is null
Throws:
  `SQLServerException` - when an error occurs

#### getSmallMoney

    public java.math.BigDecimal getSmallMoney​(java.lang.String parameterName)
                                       throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the column specified as a java.math.BigDecimal object.

Specified by:
  `getSmallMoney` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - The name of a column.
Returns:
  the column value; if the value is SQL NULL, the value returned is null.
Throws:
  `SQLServerException` - when an error occurs

#### getBinaryStream

    public final java.io.InputStream getBinaryStream​(int parameterIndex)
                                              throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of uninterpreted bytes. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large `LONGVARBINARY` values.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return `0` when the method `InputStream.available` is called whether there is data available or not.

Specified by:
  `getBinaryStream` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterIndex` - the first column is 1, the second is 2, ...
Returns:
  a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL `NULL`, the value returned is `null`
Throws:
  `SQLServerException` - if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set

#### getBinaryStream

    public final java.io.InputStream getBinaryStream​(java.lang.String parameterName)
                                              throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of uninterpreted `byte`s. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large `LONGVARBINARY` values.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return `0` when the method `available` is called whether there is data available or not.

Specified by:
  `getBinaryStream` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
Returns:
  a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL `NULL`, the result is `null`
Throws:
  `SQLServerException` - if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set

#### getBlob

    public java.sql.Blob getBlob​(int parameterIndex)
                          throws SQLServerException

Specified by:
  `getBlob` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getBlob

    public java.sql.Blob getBlob​(java.lang.String parameterName)
                          throws SQLServerException

Specified by:
  `getBlob` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getCharacterStream

    public final java.io.Reader getCharacterStream​(int parameterIndex)
                                            throws SQLServerException

Specified by:
  `getCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getCharacterStream

    public final java.io.Reader getCharacterStream​(java.lang.String parameterName)
                                            throws java.sql.SQLException

Specified by:
  `getCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getNCharacterStream

    public final java.io.Reader getNCharacterStream​(int parameterIndex)
                                             throws java.sql.SQLException

Specified by:
  `getNCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getNCharacterStream

    public final java.io.Reader getNCharacterStream​(java.lang.String parameterName)
                                             throws java.sql.SQLException

Specified by:
  `getNCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getClob

    public java.sql.Clob getClob​(int parameterIndex)
                          throws SQLServerException

Specified by:
  `getClob` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getClob

    public java.sql.Clob getClob​(java.lang.String parameterName)
                          throws SQLServerException

Specified by:
  `getClob` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### getNClob

    public java.sql.NClob getNClob​(int parameterIndex)
                            throws java.sql.SQLException

Specified by:
  `getNClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getNClob

    public java.sql.NClob getNClob​(java.lang.String parameterName)
                            throws java.sql.SQLException

Specified by:
  `getNClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getObject

    public java.lang.Object getObject​(int parameterIndex,
                                      java.util.Map<java.lang.String,java.lang.Class<?>> map)
                               throws java.sql.SQLException

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getObject

    public java.lang.Object getObject​(java.lang.String parameterName,
                                      java.util.Map<java.lang.String,java.lang.Class<?>> m)
                               throws java.sql.SQLException

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getRef

    public java.sql.Ref getRef​(int parameterIndex)
                        throws java.sql.SQLException

Specified by:
  `getRef` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getRef

    public java.sql.Ref getRef​(java.lang.String parameterName)
                        throws java.sql.SQLException

Specified by:
  `getRef` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getArray

    public java.sql.Array getArray​(int parameterIndex)
                            throws java.sql.SQLException

Specified by:
  `getArray` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getArray

    public java.sql.Array getArray​(java.lang.String parameterName)
                            throws java.sql.SQLException

Specified by:
  `getArray` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setTimestamp

    public void setTimestamp​(java.lang.String parameterName,
                             java.sql.Timestamp value,
                             java.util.Calendar calendar)
                      throws SQLServerException

Specified by:
  `setTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setTimestamp

    public void setTimestamp​(java.lang.String parameterName,
                             java.sql.Timestamp value,
                             java.util.Calendar calendar,
                             boolean forceEncrypt)
                      throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Timestamp` value. The driver converts this to an SQL `TIMESTAMP` value when it sends it to the database.

Specified by:
  `setTimestamp` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `calendar` - a java.util.Calendar
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
See Also:
  `CallableStatement.getTimestamp(int)`

#### setTime

    public void setTime​(java.lang.String parameterName,
                        java.sql.Time value,
                        java.util.Calendar calendar)
                 throws SQLServerException

Specified by:
  `setTime` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setTime

    public void setTime​(java.lang.String parameterName,
                        java.sql.Time value,
                        java.util.Calendar calendar,
                        boolean forceEncrypt)
                 throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Time` value, using the given `Calendar` object. The driver uses the `Calendar` object to construct an SQL `TIME` value, which the driver then sends to the database. With a a `Calendar` object, the driver can calculate the time taking into account a custom timezone. If no `Calendar` object is specified, the driver uses the default timezone, which is that of the virtual machine running the application.

Specified by:
  `setTime` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `calendar` - the `Calendar` object the driver will use to construct the time
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
See Also:
  `CallableStatement.getTime(int)`

#### setDate

    public void setDate​(java.lang.String parameterName,
                        java.sql.Date value,
                        java.util.Calendar calendar)
                 throws SQLServerException

Specified by:
  `setDate` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setDate

    public void setDate​(java.lang.String parameterName,
                        java.sql.Date value,
                        java.util.Calendar calendar,
                        boolean forceEncrypt)
                 throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Date` value, using the given `Calendar` object. The driver uses the `Calendar` object to construct an SQL `DATE` value, which the driver then sends to the database. With a a `Calendar` object, the driver can calculate the date taking into account a custom timezone. If no `Calendar` object is specified, the driver uses the default timezone, which is that of the virtual machine running the application.

Specified by:
  `setDate` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `calendar` - the `Calendar` object the driver will use to construct the date
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
See Also:
  `CallableStatement.getDate(int)`

#### setCharacterStream

    public final void setCharacterStream​(java.lang.String parameterName,
                                         java.io.Reader reader)
                                  throws java.sql.SQLException

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

#### setCharacterStream

    public final void setCharacterStream​(java.lang.String parameterName,
                                         java.io.Reader value,
                                         int length)
                                  throws java.sql.SQLException

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

#### setCharacterStream

    public final void setCharacterStream​(java.lang.String parameterName,
                                         java.io.Reader reader,
                                         long length)
                                  throws java.sql.SQLException

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

#### setNCharacterStream

    public final void setNCharacterStream​(java.lang.String parameterName,
                                          java.io.Reader value)
                                   throws java.sql.SQLException

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

#### setNCharacterStream

    public final void setNCharacterStream​(java.lang.String parameterName,
                                          java.io.Reader value,
                                          long length)
                                   throws java.sql.SQLException

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

#### setClob

    public final void setClob​(java.lang.String parameterName,
                              java.sql.Clob value)
                       throws java.sql.SQLException

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

#### setClob

    public final void setClob​(java.lang.String parameterName,
                              java.io.Reader reader)
                       throws java.sql.SQLException

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

#### setClob

    public final void setClob​(java.lang.String parameterName,
                              java.io.Reader value,
                              long length)
                       throws java.sql.SQLException

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

#### setNClob

    public final void setNClob​(java.lang.String parameterName,
                               java.sql.NClob value)
                        throws java.sql.SQLException

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

#### setNClob

    public final void setNClob​(java.lang.String parameterName,
                               java.io.Reader reader)
                        throws java.sql.SQLException

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

#### setNClob

    public final void setNClob​(java.lang.String parameterName,
                               java.io.Reader reader,
                               long length)
                        throws java.sql.SQLException

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

#### setNString

    public final void setNString​(java.lang.String parameterName,
                                 java.lang.String value)
                          throws java.sql.SQLException

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

#### setNString

    public final void setNString​(java.lang.String parameterName,
                                 java.lang.String value,
                                 boolean forceEncrypt)
                          throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `String` object. The driver converts this to a SQL `NCHAR` or `NVARCHAR` or `LONGNVARCHAR`

Specified by:
  `setNString` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter to be set
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setObject

    public void setObject​(java.lang.String parameterName,
                          java.lang.Object value)
                   throws SQLServerException

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setObject

    public void setObject​(java.lang.String parameterName,
                          java.lang.Object value,
                          int sqlType)
                   throws SQLServerException

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setObject

    public void setObject​(java.lang.String parameterName,
                          java.lang.Object value,
                          int sqlType,
                          int decimals)
                   throws SQLServerException

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setObject

    public void setObject​(java.lang.String parameterName,
                          java.lang.Object value,
                          int sqlType,
                          int decimals,
                          boolean forceEncrypt)
                   throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the value of the designated parameter with the given object.

The given Java object will be converted to the given targetSqlType before being sent to the database. If the object has a custom mapping (is of a class implementing the interface `SQLData`), the JDBC driver should call the method `SQLData.writeSQL` to write it to the SQL data stream. If, on the other hand, the object is of a class implementing `Ref`, `Blob`, `Clob`, `NClob`, `Struct`, `java.net.URL`, or `Array`, the driver should pass it to the database as a value of the corresponding SQL type.

Note that this method may be used to pass database- specific abstract data types.

Specified by:
  `setObject` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the object containing the input parameter value
  `sqlType` - the SQL type (as defined in java.sql.Types) to be sent to the database. The scale argument may further qualify this type.
  `decimals` - for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, this is the number of digits after the decimal point. For all other types, this value will be ignored.
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
See Also:
  `Types`, `CallableStatement.getObject(int)`

#### setObject

    public final void setObject​(java.lang.String parameterName,
                                java.lang.Object value,
                                int targetSqlType,
                                java.lang.Integer precision,
                                int scale)
                         throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the value of the designated parameter with the given object.

The given Java object will be converted to the given targetSqlType before being sent to the database. If the object has a custom mapping (is of a class implementing the interface `SQLData`), the JDBC driver should call the method `SQLData.writeSQL` to write it to the SQL data stream. If, on the other hand, the object is of a class implementing `Ref`, `Blob`, `Clob`, `NClob`, `Struct`, `java.net.URL`, or `Array`, the driver should pass it to the database as a value of the corresponding SQL type.

Note that this method may be used to pass datatabase- specific abstract data types.

Specified by:
  `setObject` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - 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.
  `precision` - the precision of the column.
  `scale` - the scale of the column.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
See Also:
  `Types`, `CallableStatement.getObject(int)`

#### setAsciiStream

    public final void setAsciiStream​(java.lang.String parameterName,
                                     java.io.InputStream value)
                              throws java.sql.SQLException

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

#### setAsciiStream

    public final void setAsciiStream​(java.lang.String parameterName,
                                     java.io.InputStream value,
                                     int length)
                              throws java.sql.SQLException

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

#### setAsciiStream

    public final void setAsciiStream​(java.lang.String parameterName,
                                     java.io.InputStream value,
                                     long length)
                              throws java.sql.SQLException

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

#### setBinaryStream

    public final void setBinaryStream​(java.lang.String parameterName,
                                      java.io.InputStream value)
                               throws java.sql.SQLException

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

#### setBinaryStream

    public final void setBinaryStream​(java.lang.String parameterName,
                                      java.io.InputStream value,
                                      int length)
                               throws java.sql.SQLException

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

#### setBinaryStream

    public final void setBinaryStream​(java.lang.String parameterName,
                                      java.io.InputStream value,
                                      long length)
                               throws java.sql.SQLException

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

#### setBlob

    public final void setBlob​(java.lang.String parameterName,
                              java.sql.Blob inputStream)
                       throws java.sql.SQLException

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

#### setBlob

    public final void setBlob​(java.lang.String parameterName,
                              java.io.InputStream value)
                       throws java.sql.SQLException

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

#### setBlob

    public final void setBlob​(java.lang.String parameterName,
                              java.io.InputStream inputStream,
                              long length)
                       throws java.sql.SQLException

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

#### setTimestamp

    public void setTimestamp​(java.lang.String parameterName,
                             java.sql.Timestamp value)
                      throws SQLServerException

Specified by:
  `setTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setTimestamp

    public void setTimestamp​(java.lang.String parameterName,
                             java.sql.Timestamp value,
                             int scale)
                      throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Timestamp` value. The driver converts this to an SQL `TIMESTAMP` value when it sends it to the database.

Specified by:
  `setTimestamp` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `scale` - the scale of the parameter
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
See Also:
  `CallableStatement.getTimestamp(int)`

#### setTimestamp

    public void setTimestamp​(java.lang.String parameterName,
                             java.sql.Timestamp value,
                             int scale,
                             boolean forceEncrypt)
                      throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Timestamp` value. The driver converts this to an SQL `TIMESTAMP` value when it sends it to the database.

Specified by:
  `setTimestamp` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `scale` - the scale of the parameter
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
See Also:
  `CallableStatement.getTimestamp(int)`

#### setDateTimeOffset

    public void setDateTimeOffset​(java.lang.String parameterName,
                                  DateTimeOffset value)
                           throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets parameter parameterName to DateTimeOffset x

Specified by:
  `setDateTimeOffset` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - DateTimeOffset value
Throws:
  `SQLServerException` - if an error occurs

#### setDateTimeOffset

    public void setDateTimeOffset​(java.lang.String parameterName,
                                  DateTimeOffset value,
                                  int scale)
                           throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets parameter parameterName to DateTimeOffset x

Specified by:
  `setDateTimeOffset` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - DateTimeOffset value
  `scale` - the scale of the parameter
Throws:
  `SQLServerException` - if an error occurs

#### setDateTimeOffset

    public void setDateTimeOffset​(java.lang.String parameterName,
                                  DateTimeOffset value,
                                  int scale,
                                  boolean forceEncrypt)
                           throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets parameter parameterName to DateTimeOffset x

Specified by:
  `setDateTimeOffset` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - DateTimeOffset value
  `scale` - the scale of the parameter
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if an error occurs

#### setDate

    public void setDate​(java.lang.String parameterName,
                        java.sql.Date value)
                 throws SQLServerException

Specified by:
  `setDate` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setTime

    public void setTime​(java.lang.String parameterName,
                        java.sql.Time value)
                 throws SQLServerException

Specified by:
  `setTime` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setTime

    public void setTime​(java.lang.String parameterName,
                        java.sql.Time value,
                        int scale)
                 throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Time` value. The driver converts this to an SQL `TIME` value when it sends it to the database.

Specified by:
  `setTime` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `scale` - the scale of the column
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
See Also:
  `CallableStatement.getTime(int)`

#### setTime

    public void setTime​(java.lang.String parameterName,
                        java.sql.Time value,
                        int scale,
                        boolean forceEncrypt)
                 throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Time` value. The driver converts this to an SQL `TIME` value when it sends it to the database.

Specified by:
  `setTime` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `scale` - the scale of the column
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
See Also:
  `CallableStatement.getTime(int)`

#### setDateTime

    public void setDateTime​(java.lang.String parameterName,
                            java.sql.Timestamp value)
                     throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Timestamp` value. The driver converts this to an SQL `DATETIME` value when it sends it to the database.

Specified by:
  `setDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setDateTime

    public void setDateTime​(java.lang.String parameterName,
                            java.sql.Timestamp value,
                            boolean forceEncrypt)
                     throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Timestamp` value. The driver converts this to an SQL `DATETIME` value when it sends it to the database.

Specified by:
  `setDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setSmallDateTime

    public void setSmallDateTime​(java.lang.String parameterName,
                                 java.sql.Timestamp value)
                          throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Timestamp` value. The driver converts this to an SQL `SMALLDATETIME` value when it sends it to the database.

Specified by:
  `setSmallDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setSmallDateTime

    public void setSmallDateTime​(java.lang.String parameterName,
                                 java.sql.Timestamp value,
                                 boolean forceEncrypt)
                          throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.sql.Timestamp` value. The driver converts this to an SQL `SMALLDATETIME` value when it sends it to the database.

Specified by:
  `setSmallDateTime` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setUniqueIdentifier

    public void setUniqueIdentifier​(java.lang.String parameterName,
                                    java.lang.String guid)
                             throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `String` value. The driver converts this to an SQL `uniqueIdentifier` value when it sends it to the database.

Specified by:
  `setUniqueIdentifier` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `guid` - the parameter value
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setUniqueIdentifier

    public void setUniqueIdentifier​(java.lang.String parameterName,
                                    java.lang.String guid,
                                    boolean forceEncrypt)
                             throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `String` value. The driver converts this to an SQL `uniqueIdentifier` value when it sends it to the database.

Specified by:
  `setUniqueIdentifier` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `guid` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setBytes

    public void setBytes​(java.lang.String parameterName,
                         byte[] value)
                  throws SQLServerException

Specified by:
  `setBytes` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setBytes

    public void setBytes​(java.lang.String parameterName,
                         byte[] value,
                         boolean forceEncrypt)
                  throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java array of bytes. The driver converts this to an SQL `VARBINARY` or `LONGVARBINARY` (depending on the argument's size relative to the driver's limits on `VARBINARY` values) when it sends it to the database.

Specified by:
  `setBytes` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setByte

    public void setByte​(java.lang.String parameterName,
                        byte value)
                 throws SQLServerException

Specified by:
  `setByte` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setByte

    public void setByte​(java.lang.String parameterName,
                        byte value,
                        boolean forceEncrypt)
                 throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `byte` value. The driver converts this to an SQL `TINYINT` value when it sends it to the database.

Specified by:
  `setByte` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setString

    public void setString​(java.lang.String parameterName,
                          java.lang.String value)
                   throws SQLServerException

Specified by:
  `setString` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setString

    public void setString​(java.lang.String parameterName,
                          java.lang.String value,
                          boolean forceEncrypt)
                   throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `String` value. The driver converts this to an SQL `VARCHAR` or `LONGVARCHAR` value (depending on the argument's size relative to the driver's limits on `VARCHAR` values) when it sends it to the database.

Specified by:
  `setString` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setMoney

    public void setMoney​(java.lang.String parameterName,
                         java.math.BigDecimal value)
                  throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `java.math.BigDecimal` value. The driver converts this to an SQL `Money` value.

Specified by:
  `setMoney` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setMoney

    public void setMoney​(java.lang.String parameterName,
                         java.math.BigDecimal value,
                         boolean forceEncrypt)
                  throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `java.math.BigDecimal` value. The driver converts this to an SQL `Money` value.

Specified by:
  `setMoney` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setSmallMoney

    public void setSmallMoney​(java.lang.String parameterName,
                              java.math.BigDecimal value)
                       throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `java.math.BigDecimal` value. The driver converts this to an SQL `smallMoney` value.

Specified by:
  `setSmallMoney` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setSmallMoney

    public void setSmallMoney​(java.lang.String parameterName,
                              java.math.BigDecimal value,
                              boolean forceEncrypt)
                       throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `java.math.BigDecimal` value. The driver converts this to an SQL `smallMoney` value.

Specified by:
  `setSmallMoney` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setBigDecimal

    public void setBigDecimal​(java.lang.String parameterName,
                              java.math.BigDecimal value)
                       throws SQLServerException

Specified by:
  `setBigDecimal` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setBigDecimal

    public void setBigDecimal​(java.lang.String parameterName,
                              java.math.BigDecimal value,
                              int precision,
                              int scale)
                       throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.math.BigDecimal` value. The driver converts this to an SQL `NUMERIC` value when it sends it to the database.

Specified by:
  `setBigDecimal` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `precision` - the precision of the column
  `scale` - the scale of the column
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setBigDecimal

    public void setBigDecimal​(java.lang.String parameterName,
                              java.math.BigDecimal value,
                              int precision,
                              int scale,
                              boolean forceEncrypt)
                       throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given `java.math.BigDecimal` value. The driver converts this to an SQL `NUMERIC` value when it sends it to the database.

Specified by:
  `setBigDecimal` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `precision` - the precision of the column
  `scale` - the scale of the column
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setDouble

    public void setDouble​(java.lang.String parameterName,
                          double value)
                   throws SQLServerException

Specified by:
  `setDouble` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setDouble

    public void setDouble​(java.lang.String parameterName,
                          double value,
                          boolean forceEncrypt)
                   throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `double` value. The driver converts this to an SQL `DOUBLE` value when it sends it to the database.

Specified by:
  `setDouble` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setFloat

    public void setFloat​(java.lang.String parameterName,
                         float value)
                  throws SQLServerException

Specified by:
  `setFloat` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setFloat

    public void setFloat​(java.lang.String parameterName,
                         float value,
                         boolean forceEncrypt)
                  throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `float` value. The driver converts this to an SQL `FLOAT` value when it sends it to the database.

Specified by:
  `setFloat` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setInt

    public void setInt​(java.lang.String parameterName,
                       int value)
                throws SQLServerException

Specified by:
  `setInt` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setInt

    public void setInt​(java.lang.String parameterName,
                       int value,
                       boolean forceEncrypt)
                throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `int` value. The driver converts this to an SQL `INTEGER` value when it sends it to the database.

Specified by:
  `setInt` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setLong

    public void setLong​(java.lang.String parameterName,
                        long value)
                 throws SQLServerException

Specified by:
  `setLong` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setLong

    public void setLong​(java.lang.String parameterName,
                        long value,
                        boolean forceEncrypt)
                 throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `long` value. The driver converts this to an SQL `BIGINT` value when it sends it to the database.

Specified by:
  `setLong` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setShort

    public void setShort​(java.lang.String parameterName,
                         short value)
                  throws SQLServerException

Specified by:
  `setShort` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setShort

    public void setShort​(java.lang.String parameterName,
                         short value,
                         boolean forceEncrypt)
                  throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `short` value. The driver converts this to an SQL `SMALLINT` value when it sends it to the database.

Specified by:
  `setShort` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setBoolean

    public void setBoolean​(java.lang.String parameterName,
                           boolean value)
                    throws SQLServerException

Specified by:
  `setBoolean` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setBoolean

    public void setBoolean​(java.lang.String parameterName,
                           boolean value,
                           boolean forceEncrypt)
                    throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the designated parameter to the given Java `boolean` value. The driver converts this to an SQL `BIT` or `BOOLEAN` value when it sends it to the database.

Specified by:
  `setBoolean` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`

#### setNull

    public void setNull​(java.lang.String parameterName,
                        int nType)
                 throws SQLServerException

Specified by:
  `setNull` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setNull

    public void setNull​(java.lang.String parameterName,
                        int nType,
                        java.lang.String sTypeName)
                 throws SQLServerException

Specified by:
  `setNull` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setURL

    public void setURL​(java.lang.String parameterName,
                       java.net.URL url)
                throws java.sql.SQLException

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

#### setStructured

    public final void setStructured​(java.lang.String parameterName,
                                    java.lang.String tvpName,
                                    SQLServerDataTable tvpDataTable)
                             throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Populates a table valued parameter passed to a stored procedure with a data table.

Specified by:
  `setStructured` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `tvpName` - the name of the type TVP
  `tvpDataTable` - the data table object
Throws:
  `SQLServerException` - when an error occurs

#### setStructured

    public final void setStructured​(java.lang.String parameterName,
                                    java.lang.String tvpName,
                                    java.sql.ResultSet tvpResultSet)
                             throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Populates a table valued parameter passed to a stored procedure with a ResultSet retrieved from another table

Specified by:
  `setStructured` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `tvpName` - the name of the type TVP
  `tvpResultSet` - the source result set object
Throws:
  `SQLServerException` - when an error occurs

#### setStructured

    public final void setStructured​(java.lang.String parameterName,
                                    java.lang.String tvpName,
                                    ISQLServerDataRecord tvpDataRecord)
                             throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Populates a table valued parameter passed to a stored procedure with an ISQLServerDataRecord object.

Specified by:
  `setStructured` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `tvpName` - the name of the type TVP
  `tvpDataRecord` - ISQLServerDataRecord is used for streaming data and the user decides how to use it. tvpDataRecord is an ISQLServerDataRecord object.the source result set object
Throws:
  `SQLServerException` - when an error occurs

#### getURL

    public java.net.URL getURL​(int parameterIndex)
                        throws java.sql.SQLException

Specified by:
  `getURL` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getURL

    public java.net.URL getURL​(java.lang.String parameterName)
                        throws java.sql.SQLException

Specified by:
  `getURL` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setSQLXML

    public final void setSQLXML​(java.lang.String parameterName,
                                java.sql.SQLXML xmlObject)
                         throws java.sql.SQLException

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

#### getSQLXML

    public final java.sql.SQLXML getSQLXML​(int parameterIndex)
                                    throws java.sql.SQLException

Specified by:
  `getSQLXML` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getSQLXML

    public final java.sql.SQLXML getSQLXML​(java.lang.String parameterName)
                                    throws java.sql.SQLException

Specified by:
  `getSQLXML` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setRowId

    public final void setRowId​(java.lang.String parameterName,
                               java.sql.RowId value)
                        throws java.sql.SQLException

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

#### getRowId

    public final java.sql.RowId getRowId​(int parameterIndex)
                                  throws java.sql.SQLException

Specified by:
  `getRowId` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getRowId

    public final java.sql.RowId getRowId​(java.lang.String parameterName)
                                  throws java.sql.SQLException

Specified by:
  `getRowId` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### registerOutParameter

    public void registerOutParameter​(java.lang.String parameterName,
                                     int sqlType,
                                     java.lang.String typeName)
                              throws SQLServerException

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

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

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

    public void registerOutParameter​(java.lang.String parameterName,
                                     int sqlType,
                                     int precision,
                                     int scale)
                              throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Registers the parameter in ordinal position index 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.

Specified by:
  `registerOutParameter` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `sqlType` - the JDBC type code defined by SQLType to use to register the OUT Parameter.
  `precision` - the sum of the desired number of digits to the left and right of the decimal point. It must be greater than or equal to zero.
  `scale` - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
Throws:
  `SQLServerException` - If any errors occur.

#### registerOutParameter

    public void registerOutParameter​(java.lang.String parameterName,
                                     int sqlType)
                              throws SQLServerException

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

    public void registerOutParameter​(int paramterIndex,
                                     java.sql.SQLType sqlType)
                              throws SQLServerException

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

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

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

    public void registerOutParameter​(int paramterIndex,
                                     java.sql.SQLType sqlType,
                                     int scale)
                              throws SQLServerException

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

    public void registerOutParameter​(int paramterIndex,
                                     java.sql.SQLType sqlType,
                                     int precision,
                                     int scale)
                              throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Registers the parameter in ordinal position index 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.

Specified by:
  `registerOutParameter` in interface `ISQLServerCallableStatement`
Parameters:
  `paramterIndex` - the first column is 1, the second is 2, ...
  `sqlType` - the JDBC type code defined by SQLType to use to register the OUT Parameter.
  `precision` - the sum of the desired number of digits to the left and right of the decimal point. It must be greater than or equal to zero.
  `scale` - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
Throws:
  `SQLServerException` - If any errors occur.

#### setObject

    public void setObject​(java.lang.String parameterName,
                          java.lang.Object value,
                          java.sql.SQLType jdbcType)
                   throws SQLServerException

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setObject

    public void setObject​(java.lang.String parameterName,
                          java.lang.Object value,
                          java.sql.SQLType jdbcType,
                          int scale)
                   throws SQLServerException

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### setObject

    public void setObject​(java.lang.String parameterName,
                          java.lang.Object value,
                          java.sql.SQLType jdbcType,
                          int scale,
                          boolean forceEncrypt)
                   throws SQLServerException

Description copied from interface: `ISQLServerCallableStatement`
Sets the value of the designated parameter with the given object.

The given Java object will be converted to the given targetSqlType before being sent to the database. If the object has a custom mapping (is of a class implementing the interface `SQLData`), the JDBC driver should call the method `SQLData.writeSQL` to write it to the SQL data stream. If, on the other hand, the object is of a class implementing `Ref`, `Blob`, `Clob`, `NClob`, `Struct`, `java.net.URL`, or `Array`, the driver should pass it to the database as a value of the corresponding SQL type.

Note that this method may be used to pass datatabase- specific abstract data types.

Specified by:
  `setObject` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the object containing the input parameter value
  `jdbcType` - the SQL type (as defined in java.sql.Types) to be sent to the database. The scale argument may further qualify this type.
  `scale` - the scale of the column.
  `forceEncrypt` - If the boolean forceEncrypt is set to true, the query parameter will only be set if the designation column is encrypted and Always Encrypted is enabled on the connection or on the statement. If the boolean forceEncrypt is set to false, the driver will not force encryption on parameters.
Throws:
  `SQLServerException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
See Also:
  `Types`, `CallableStatement.getObject(int)`

#### registerOutParameter

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

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

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

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`

#### registerOutParameter

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

Description copied from interface: `ISQLServerCallableStatement`
Registers the parameter in ordinal position index 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.

Specified by:
  `registerOutParameter` in interface `ISQLServerCallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `sqlType` - the JDBC type code defined by SQLType to use to register the OUT Parameter.
  `precision` - the sum of the desired number of digits to the left and right of the decimal point. It must be greater than or equal to zero.
  `scale` - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
Throws:
  `SQLServerException` - If any errors occur.

#### registerOutParameter

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

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `SQLServerException`