JtdsPreparedStatement (jTDS API)
Date: 2013-06-08

net.sourceforge.jtds.jdbc

## Class JtdsPreparedStatement

- java.lang.Object
- - net.sourceforge.jtds.jdbc.JtdsStatement
  - - net.sourceforge.jtds.jdbc.JtdsPreparedStatement

- All Implemented Interfaces:
    java.lang.AutoCloseable, java.sql.PreparedStatement, java.sql.Statement, java.sql.Wrapper
  Direct Known Subclasses:
    JtdsCallableStatement

      public class JtdsPreparedStatement
      extends JtdsStatement
      implements java.sql.PreparedStatement

  jTDS implementation of the java.sql.PreparedStatement interface.

  Implementation notes:

  1. Generally a simple subclass of Statement mainly adding support for the setting of parameters.
  2. The stream logic is taken over from the work Brian did to add Blob support to the original jTDS.
  3. Use of Statement specific method calls eg executeQuery(sql) is blocked by this version of the driver. This is unlike the original jTDS but inline with all the other JDBC drivers that I have been able to test.
  Author:
    Brian Heineman, Mike Hutchinson, Holger Rehn

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static java.text.NumberFormat` | `f` Used to format numeric values when scale is specified.
    `(package private) java.util.Collection` | `handles` Collection of handles used by this statement
    `private java.lang.String` | `originalSql` The original SQL statement provided at construction time.
    `protected ParamInfo[]` | `parameters` The parameter list for the call.
    `protected ParamInfo[]` | `paramMetaData` The cached parameter meta data.
    `protected java.lang.String` | `procName` The procedure name for CallableStatements.
    `private boolean` | `returnKeys` True to return generated keys.
    `protected java.lang.String` | `sql` The SQL statement being prepared.
    `protected java.lang.String` | `sqlWord` The first SQL keyword in the SQL string.

    - ### Fields inherited from class net.sourceforge.jtds.jdbc.JtdsStatement

      `batchValues, BOOLEAN, CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, colMetaData, connection, currentResult, cursorName, DATALINK, DEFAULT_FETCH_SIZE, escapeProcessing, EXECUTE_FAILED, fetchDirection, fetchSize, GENKEYCOL, genKeyResultSet, KEEP_CURRENT_RESULT, maxFieldSize, maxRows, messages, NO_GENERATED_KEYS, openResultSets, queryTimeout, resultQueue, resultSetConcurrency, resultSetType, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO, tds`

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

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JtdsPreparedStatement(JtdsConnection connection, java.lang.String sql, int resultSetType, int concurrency, boolean returnKeys)` Construct a new preparedStatement object.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addBatch()`
    `void` | `addBatch(java.lang.String sql)`
    `protected void` | `checkOpen()` Check that this statement is still open.
    `void` | `clearParameters()`
    `void` | `close()`
    `boolean` | `execute()`
    `boolean` | `execute(java.lang.String sql)`
    `boolean` | `execute(java.lang.String arg0, int arg1)`
    `boolean` | `execute(java.lang.String arg0, int[] arg1)`
    `boolean` | `execute(java.lang.String arg0, java.lang.String[] arg1)`
    `protected java.sql.SQLException` | `executeMSBatch(int size, int executeSize, java.util.ArrayList counts)` Execute the SQL batch on a MS server.
    `java.sql.ResultSet` | `executeQuery()`
    `java.sql.ResultSet` | `executeQuery(java.lang.String sql)`
    `protected java.sql.SQLException` | `executeSybaseBatch(int size, int executeSize, java.util.ArrayList counts)` Execute the SQL batch on a Sybase server.
    `int` | `executeUpdate()`
    `int` | `executeUpdate(java.lang.String sql)`
    `int` | `executeUpdate(java.lang.String sql, int getKeys)`
    `int` | `executeUpdate(java.lang.String arg0, int[] arg1)`
    `int` | `executeUpdate(java.lang.String arg0, java.lang.String[] arg1)`
    `java.sql.ResultSetMetaData` | `getMetaData()`
    `protected ParamInfo` | `getParameter(int parameterIndex)` Check the supplied index and return the selected parameter.
    `java.sql.ParameterMetaData` | `getParameterMetaData()`
    `private static java.lang.String` | `normalize(java.lang.String sql, int level)` This method converts native call syntax into (hopefully) valid JDBC escape syntax.
    `protected static java.lang.String` | `normalizeCall(java.lang.String sql)` This method converts native call syntax into (hopefully) valid JDBC escape syntax.
    `protected void` | `notSupported(java.lang.String method)` Report that user tried to call a method not supported on this type of statement.
    `private static boolean` | `openComment(java.lang.String sql, int offset)`
    `void` | `setArray(int arg0, java.sql.Array arg1)`
    `void` | `setAsciiStream(int parameterIndex, java.io.InputStream x)`
    `void` | `setAsciiStream(int parameterIndex, java.io.InputStream inputStream, int length)`
    `void` | `setAsciiStream(int parameterIndex, java.io.InputStream x, long length)`
    `void` | `setBigDecimal(int parameterIndex, java.math.BigDecimal x)`
    `void` | `setBinaryStream(int parameterIndex, java.io.InputStream x)`
    `void` | `setBinaryStream(int parameterIndex, java.io.InputStream x, int length)`
    `void` | `setBinaryStream(int parameterIndex, java.io.InputStream x, long length)`
    `void` | `setBlob(int parameterIndex, java.sql.Blob x)`
    `void` | `setBlob(int parameterIndex, java.io.InputStream inputStream)`
    `void` | `setBlob(int parameterIndex, java.io.InputStream inputStream, long length)`
    `void` | `setBoolean(int parameterIndex, boolean x)`
    `void` | `setByte(int parameterIndex, byte x)`
    `void` | `setBytes(int parameterIndex, byte[] x)`
    `void` | `setCharacterStream(int parameterIndex, java.io.Reader reader)`
    `void` | `setCharacterStream(int parameterIndex, java.io.Reader reader, int length)`
    `void` | `setCharacterStream(int parameterIndex, java.io.Reader reader, long length)`
    `void` | `setClob(int parameterIndex, java.sql.Clob x)`
    `void` | `setClob(int parameterIndex, java.io.Reader reader)`
    `void` | `setClob(int parameterIndex, java.io.Reader reader, long length)`
    `(package private) void` | `setColMetaData(ColInfo[] value)` Update the cached column meta data information.
    `void` | `setDate(int parameterIndex, java.sql.Date x)`
    `void` | `setDate(int parameterIndex, java.sql.Date x, java.util.Calendar cal)`
    `void` | `setDouble(int parameterIndex, double x)`
    `void` | `setFloat(int parameterIndex, float x)`
    `void` | `setInt(int parameterIndex, int x)`
    `void` | `setLong(int parameterIndex, long x)`
    `void` | `setNCharacterStream(int parameterIndex, java.io.Reader value)`
    `void` | `setNCharacterStream(int parameterIndex, java.io.Reader value, long length)`
    `void` | `setNClob(int parameterIndex, java.sql.NClob value)`
    `void` | `setNClob(int parameterIndex, java.io.Reader reader)`
    `void` | `setNClob(int parameterIndex, java.io.Reader reader, long length)`
    `void` | `setNString(int parameterIndex, java.lang.String value)`
    `void` | `setNull(int parameterIndex, int sqlType)`
    `void` | `setNull(int parameterIndex, int sqlType, java.lang.String typeName)`
    `void` | `setObject(int parameterIndex, java.lang.Object x)`
    `void` | `setObject(int parameterIndex, java.lang.Object x, int targetSqlType)`
    `void` | `setObject(int parameterIndex, java.lang.Object x, int targetSqlType, int scale)`
    `void` | `setObjectBase(int parameterIndex, java.lang.Object x, int targetSqlType, int scale)` Generic setObject method.
    `protected void` | `setParameter(int parameterIndex, java.lang.Object x, int targetSqlType, int scale, int length)` Update the ParamInfo object for the specified parameter.
    `(package private) void` | `setParamMetaData(ParamInfo[] value)` Update the cached parameter meta data information.
    `void` | `setRef(int parameterIndex, java.sql.Ref x)`
    `void` | `setRowId(int parameterIndex, java.sql.RowId x)`
    `void` | `setShort(int parameterIndex, short x)`
    `void` | `setSQLXML(int parameterIndex, java.sql.SQLXML xmlObject)`
    `void` | `setString(int parameterIndex, java.lang.String x)`
    `void` | `setTime(int parameterIndex, java.sql.Time x)`
    `void` | `setTime(int parameterIndex, java.sql.Time x, java.util.Calendar cal)`
    `void` | `setTimestamp(int parameterIndex, java.sql.Timestamp x)`
    `void` | `setTimestamp(int parameterIndex, java.sql.Timestamp x, java.util.Calendar cal)`
    `void` | `setUnicodeStream(int parameterIndex, java.io.InputStream inputStream, int length)`
    `void` | `setURL(int parameterIndex, java.net.URL url)`
    `java.lang.String` | `toString()` Returns the SQL command provided at construction time.

    - ### Methods inherited from class net.sourceforge.jtds.jdbc.JtdsStatement

      `addWarning, cacheResults, cancel, checkCursorException, clearBatch, clearWarnings, closeAllResultSets, closeCurrentResultSet, closeOnCompletion, executeBatch, executeSQL, executeSQLQuery, finalize, getConnection, getDefaultFetchSize, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMessages, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getTds, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isWrapperFor, notImplemented, reset, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, unwrap, useCursor`

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

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

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

      `cancel, clearBatch, clearWarnings, closeOnCompletion, executeBatch, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

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

      `isWrapperFor, unwrap`

- - ### Field Detail

    - #### sql

          protected final java.lang.String sql

      The SQL statement being prepared.

    - #### originalSql

          private final java.lang.String originalSql

      The original SQL statement provided at construction time.

    - #### sqlWord

          protected java.lang.String sqlWord

      The first SQL keyword in the SQL string.

    - #### procName

          protected java.lang.String procName

      The procedure name for CallableStatements.

    - #### parameters

          protected ParamInfo[] parameters

      The parameter list for the call.

    - #### returnKeys

          private boolean returnKeys

      True to return generated keys.

    - #### paramMetaData

          protected ParamInfo[] paramMetaData

      The cached parameter meta data.

    - #### f

          private static final java.text.NumberFormat f

      Used to format numeric values when scale is specified.

    - #### handles

          java.util.Collection handles

      Collection of handles used by this statement

  - ### Constructor Detail

    - #### JtdsPreparedStatement

          JtdsPreparedStatement(JtdsConnection connection,
                               java.lang.String sql,
                               int resultSetType,
                               int concurrency,
                               boolean returnKeys)
                          throws java.sql.SQLException

      Construct a new preparedStatement object.
      Parameters:
        `connection` - The parent connection.
        `sql` - The SQL statement to prepare.
        `resultSetType` - The result set type eg SCROLLABLE etc.
        `concurrency` - The result set concurrency eg READONLY.
        `returnKeys` - True if generated keys should be returned.
      Throws:
        `java.sql.SQLException`

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Returns the SQL command provided at construction time.
      Overrides:
        `toString` in class `java.lang.Object`

    - #### normalizeCall

          protected static java.lang.String normalizeCall(java.lang.String sql)
                                                   throws java.sql.SQLException

      This method converts native call syntax into (hopefully) valid JDBC escape syntax.

      Note: This method is required for backwards compatibility with previous versions of jTDS. Strictly speaking only the JDBC syntax needs to be recognized, constructions such as "?=#testproc ?,?" are neither valid native syntax nor valid escapes. All the substrings and trims below are not as bad as they look. The objects created all refer back to the original SQL string it is just the start and length positions which change.

      Parameters:
        `sql` - the SQL statement to process
      Returns:
        the SQL, possibly in original form
      Throws:
        `java.sql.SQLException` - if the SQL statement is detected to be a normal SQL INSERT, UPDATE or DELETE statement instead of a procedure call

    - #### normalize

          private static java.lang.String normalize(java.lang.String sql,
                                   int level)
                                             throws java.sql.SQLException

      This method converts native call syntax into (hopefully) valid JDBC escape syntax.

      Note: This method is required for backwards compatibility with previous versions of jTDS. Strictly speaking only the JDBC syntax needs to be recognized, constructions such as "?=#testproc ?,?" are neither valid native syntax nor valid escapes. All the substrings and trims below are not as bad as they look. The objects created all refer back to the original SQL string it is just the start and length positions which change.

      Parameters:
        `sql` - the SQL statement to process
      Returns:
        the SQL, possibly in original form
      Throws:
        `java.sql.SQLException` - if the SQL statement is detected to be a normal SQL INSERT, UPDATE or DELETE statement instead of a procedure call

    - #### openComment

          private static boolean openComment(java.lang.String sql,
                            int offset)
                                      throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### checkOpen

          protected void checkOpen()
                            throws java.sql.SQLException

      Check that this statement is still open.
      Overrides:
        `checkOpen` in class `JtdsStatement`
      Throws:
        `java.sql.SQLException` - if statement closed.

    - #### notSupported

          protected void notSupported(java.lang.String method)
                               throws java.sql.SQLException

      Report that user tried to call a method not supported on this type of statement.
      Parameters:
        `method` - The method name to report in the error message.
      Throws:
        `java.sql.SQLException`

    - #### executeMSBatch

          protected java.sql.SQLException executeMSBatch(int size,
                                             int executeSize,
                                             java.util.ArrayList counts)
                                                  throws java.sql.SQLException

      Execute the SQL batch on a MS server.

      When running with `prepareSQL=1` or `3`, the driver will first prepare temporary stored procedures or statements for each parameter combination found in the batch. The handles to these pre-preared statements will then be used to execute the actual batch statements.
      Overrides:
        `executeMSBatch` in class `JtdsStatement`
      Parameters:
        `size` - the total size of the batch
        `executeSize` - the maximum number of statements to send in one request
        `counts` - the returned update counts
      Returns:
        chained exceptions linked to a `SQLException`
      Throws:
        `java.sql.SQLException` - if a serious error occurs during execution

    - #### executeSybaseBatch

          protected java.sql.SQLException executeSybaseBatch(int size,
                                                 int executeSize,
                                                 java.util.ArrayList counts)
                                                      throws java.sql.SQLException

      Execute the SQL batch on a Sybase server.

      Sybase needs to have the SQL concatenated into one TDS language packet followed by up to 1000 parameters. This method will be overridden for `CallableStatements`.
      Overrides:
        `executeSybaseBatch` in class `JtdsStatement`
      Parameters:
        `size` - the total size of the batch
        `executeSize` - the maximum number of statements to send in one request
        `counts` - the returned update counts
      Returns:
        chained exceptions linked to a `SQLException`
      Throws:
        `java.sql.SQLException` - if a serious error occurs during execution

    - #### getParameter

          protected ParamInfo getParameter(int parameterIndex)
                                    throws java.sql.SQLException

      Check the supplied index and return the selected parameter.
      Parameters:
        `parameterIndex` - the parameter index 1 to n.
      Returns:
        the parameter as a `ParamInfo` object.
      Throws:
        `java.sql.SQLException` - if the statement is closed; if `parameterIndex` is less than 0; if `parameterIndex` is greater than the number of parameters; if `checkIfSet` was `true` and the parameter was not set

    - #### setObjectBase

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

      Generic setObject method.
      Parameters:
        `parameterIndex` - Parameter index 1 to n.
        `x` - The value to set.
        `targetSqlType` - The java.sql.Types constant describing the data.
        `scale` - The decimal scale -1 if not set.
      Throws:
        `java.sql.SQLException`

    - #### setParameter

          protected void setParameter(int parameterIndex,
                          java.lang.Object x,
                          int targetSqlType,
                          int scale,
                          int length)
                               throws java.sql.SQLException

      Update the ParamInfo object for the specified parameter.
      Parameters:
        `parameterIndex` - Parameter index 1 to n.
        `x` - The value to set.
        `targetSqlType` - The java.sql.Types constant describing the data.
        `scale` - The decimal scale -1 if not set.
        `length` - The length of the data item.
      Throws:
        `java.sql.SQLException`

    - #### setColMetaData

          void setColMetaData(ColInfo[] value)

      Update the cached column meta data information.
      Parameters:
        `value` - The Column meta data array.

    - #### setParamMetaData

          void setParamMetaData(ParamInfo[] value)

      Update the cached parameter meta data information.
      Parameters:
        `value` - The Column meta data array.

    - #### close

          public void close()
                     throws java.sql.SQLException

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

    - #### executeUpdate

          public int executeUpdate()
                            throws java.sql.SQLException

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

    - #### addBatch

          public void addBatch()
                        throws java.sql.SQLException

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

    - #### clearParameters

          public void clearParameters()
                               throws java.sql.SQLException

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

    - #### execute

          public boolean execute()
                          throws java.sql.SQLException

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

    - #### setByte

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

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

    - #### setDouble

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

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

    - #### setFloat

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

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

    - #### setInt

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

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

    - #### setNull

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

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

    - #### setLong

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

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

    - #### setShort

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

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

    - #### setBoolean

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

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

    - #### setBytes

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

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

    - #### setAsciiStream

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

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

    - #### setBinaryStream

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

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

    - #### setUnicodeStream

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

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

    - #### setCharacterStream

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

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

    - #### setObject

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

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

    - #### setObject

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

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

    - #### setObject

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

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

    - #### setNull

          public void setNull(int parameterIndex,
                     int sqlType,
                     java.lang.String typeName)
                       throws java.sql.SQLException

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

    - #### setString

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

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

    - #### setBigDecimal

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

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

    - #### setURL

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

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

    - #### setArray

          public void setArray(int arg0,
                      java.sql.Array arg1)
                        throws java.sql.SQLException

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

    - #### setBlob

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

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

    - #### setClob

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

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

    - #### setDate

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

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

    - #### getParameterMetaData

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

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

    - #### setRef

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

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

    - #### executeQuery

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

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

    - #### getMetaData

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

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

    - #### setTime

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

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

    - #### setTimestamp

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

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

    - #### setDate

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

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

    - #### setTime

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

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

    - #### setTimestamp

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

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

    - #### executeUpdate

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

      Specified by:
        `executeUpdate` in interface `java.sql.Statement`
      Overrides:
        `executeUpdate` in class `JtdsStatement`
      Throws:
        `java.sql.SQLException`

    - #### addBatch

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

      Specified by:
        `addBatch` in interface `java.sql.Statement`
      Overrides:
        `addBatch` in class `JtdsStatement`
      Throws:
        `java.sql.SQLException`

    - #### execute

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

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

    - #### executeUpdate

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

      Specified by:
        `executeUpdate` in interface `java.sql.Statement`
      Overrides:
        `executeUpdate` in class `JtdsStatement`
      Throws:
        `java.sql.SQLException`

    - #### execute

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

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

    - #### executeUpdate

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

      Specified by:
        `executeUpdate` in interface `java.sql.Statement`
      Overrides:
        `executeUpdate` in class `JtdsStatement`
      Throws:
        `java.sql.SQLException`

    - #### execute

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

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

    - #### executeUpdate

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

      Specified by:
        `executeUpdate` in interface `java.sql.Statement`
      Overrides:
        `executeUpdate` in class `JtdsStatement`
      Throws:
        `java.sql.SQLException`

    - #### execute

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

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

    - #### executeQuery

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

      Specified by:
        `executeQuery` in interface `java.sql.Statement`
      Overrides:
        `executeQuery` in class `JtdsStatement`
      Throws:
        `java.sql.SQLException`

    - #### setAsciiStream

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

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

    - #### setAsciiStream

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

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

    - #### setBinaryStream

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

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

    - #### setBinaryStream

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

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

    - #### setBlob

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

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

    - #### setBlob

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

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

    - #### setCharacterStream

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

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

    - #### setCharacterStream

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

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

    - #### setClob

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

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

    - #### setClob

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

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

    - #### setNCharacterStream

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

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

    - #### setNCharacterStream

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

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

    - #### setNClob

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

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

    - #### setNClob

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

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

    - #### setNClob

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

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

    - #### setNString

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

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

    - #### setRowId

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

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

    - #### setSQLXML

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

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

Generated on June 8 2013