org.sqlite.jdbc3

## Class JDBC3Statement

- java.lang.Object
- - org.sqlite.core.CoreStatement
  - - org.sqlite.jdbc3.JDBC3Statement

All Implemented Interfaces:
  Codes

Direct Known Subclasses:
  JDBC4Statement

    public abstract class JDBC3Statement
    extends CoreStatement

### Field Summary

### Fields inherited from class org.sqlite.core.CoreStatement

`batch, batchPos, conn, pointer, resultsWaiting, rs, sql`

### Fields inherited from interface org.sqlite.core.Codes

`SQLITE_ABORT, SQLITE_AUTH, SQLITE_BLOB, SQLITE_BUSY, SQLITE_CANTOPEN, SQLITE_CONSTRAINT, SQLITE_CORRUPT, SQLITE_DONE, SQLITE_EMPTY, SQLITE_ERROR, SQLITE_FLOAT, SQLITE_FULL, SQLITE_INTEGER, SQLITE_INTERNAL, SQLITE_INTERRUPT, SQLITE_IOERR, SQLITE_LOCKED, SQLITE_MISMATCH, SQLITE_MISUSE, SQLITE_NOLFS, SQLITE_NOMEM, SQLITE_NOTFOUND, SQLITE_NULL, SQLITE_OK, SQLITE_PERM, SQLITE_PROTOCOL, SQLITE_READONLY, SQLITE_ROW, SQLITE_SCHEMA, SQLITE_TEXT, SQLITE_TOOBIG`

### Constructor Summary

Constructors
`protected` `JDBC3Statement(SQLiteConnection conn)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addBatch(String sql)`
`void` `cancel()`
`void` `clearBatch()`
`void` `clearWarnings()`
`void` `close()`
`boolean` `execute(String sql)`
`boolean` `execute(String sql, int autokeys)`
`boolean` `execute(String sql, int[] colinds)`
`boolean` `execute(String sql, String[] colnames)`
`int[]` `executeBatch()`
`ResultSet` `executeQuery(String sql)`
`ResultSet` `executeQuery(String sql, boolean closeStmt)`
`int` `executeUpdate(String sql)`
`int` `executeUpdate(String sql, int autoKeys)`
`int` `executeUpdate(String sql, int[] colinds)`
`int` `executeUpdate(String sql, String[] cols)`
`Connection` `getConnection()`
`int` `getFetchDirection()`
`int` `getFetchSize()`
`ResultSet` `getGeneratedKeys()` As SQLite's last_insert_rowid() function is DB-specific not statement specific, this function introduces a race condition if the same connection is used by two threads and both insert.
`int` `getMaxFieldSize()`
`int` `getMaxRows()`
`boolean` `getMoreResults()` SQLite does not support multiple results from execute().
`boolean` `getMoreResults(int c)`
`int` `getQueryTimeout()`
`ResultSet` `getResultSet()`
`int` `getResultSetConcurrency()`
`int` `getResultSetHoldability()`
`int` `getResultSetType()`
`int` `getUpdateCount()`
`SQLWarning` `getWarnings()`
`void` `setCursorName(String name)`
`void` `setEscapeProcessing(boolean enable)`
`void` `setFetchDirection(int d)`
`void` `setFetchSize(int r)`
`void` `setMaxFieldSize(int max)`
`void` `setMaxRows(int max)`
`void` `setQueryTimeout(int seconds)`
`protected SQLException` `unused()`

### Methods inherited from class org.sqlite.core.CoreStatement

`checkOpen, exec, exec, getConnectionConfig, getDatbase, internalClose`

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

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

### Constructor Detail

#### JDBC3Statement

    protected JDBC3Statement(SQLiteConnection conn)

### Method Detail

#### close

    public void close()
               throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.close()`

#### execute

    public boolean execute(String sql)
                    throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.execute(java.lang.String)`

#### executeQuery

    public ResultSet executeQuery(String sql,
                                  boolean closeStmt)
                           throws SQLException

Specified by:
  `executeQuery` in class `CoreStatement`
Parameters:
  `closeStmt` - Whether to close this statement when the resultset is closed.
Throws:
  `SQLException`
See Also:
  `Statement.executeQuery(java.lang.String)`

#### executeQuery

    public ResultSet executeQuery(String sql)
                           throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.executeQuery(java.lang.String)`

#### executeUpdate

    public int executeUpdate(String sql)
                      throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.executeUpdate(java.lang.String)`

#### getResultSet

    public ResultSet getResultSet()
                           throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getResultSet()`

#### getUpdateCount

    public int getUpdateCount()
                       throws SQLException

Throws:
  `SQLException`

#### addBatch

    public void addBatch(String sql)
                  throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.addBatch(java.lang.String)`

#### clearBatch

    public void clearBatch()
                    throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.clearBatch()`

#### executeBatch

    public int[] executeBatch()
                       throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.executeBatch()`

#### setCursorName

    public void setCursorName(String name)

See Also:
  `Statement.setCursorName(java.lang.String)`

#### getWarnings

    public SQLWarning getWarnings()
                           throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getWarnings()`

#### clearWarnings

    public void clearWarnings()
                       throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.clearWarnings()`

#### getConnection

    public Connection getConnection()
                             throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getConnection()`

#### cancel

    public void cancel()
                throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.cancel()`

#### getQueryTimeout

    public int getQueryTimeout()
                        throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getQueryTimeout()`

#### setQueryTimeout

    public void setQueryTimeout(int seconds)
                         throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.setQueryTimeout(int)`

#### getMaxRows

    public int getMaxRows()
                   throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getMaxRows()`

#### setMaxRows

    public void setMaxRows(int max)
                    throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.setMaxRows(int)`

#### getMaxFieldSize

    public int getMaxFieldSize()
                        throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getMaxFieldSize()`

#### setMaxFieldSize

    public void setMaxFieldSize(int max)
                         throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.setMaxFieldSize(int)`

#### getFetchSize

    public int getFetchSize()
                     throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getFetchSize()`

#### setFetchSize

    public void setFetchSize(int r)
                      throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.setFetchSize(int)`

#### getFetchDirection

    public int getFetchDirection()
                          throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getFetchDirection()`

#### setFetchDirection

    public void setFetchDirection(int d)
                           throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.setFetchDirection(int)`

#### getGeneratedKeys

    public ResultSet getGeneratedKeys()
                               throws SQLException

As SQLite's last_insert_rowid() function is DB-specific not statement specific, this function introduces a race condition if the same connection is used by two threads and both insert.

Throws:
  `SQLException`
See Also:
  `Statement.getGeneratedKeys()`

#### getMoreResults

    public boolean getMoreResults()
                           throws SQLException

SQLite does not support multiple results from execute().

Throws:
  `SQLException`
See Also:
  `Statement.getMoreResults()`

#### getMoreResults

    public boolean getMoreResults(int c)
                           throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getMoreResults(int)`

#### getResultSetConcurrency

    public int getResultSetConcurrency()
                                throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getResultSetConcurrency()`

#### getResultSetHoldability

    public int getResultSetHoldability()
                                throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getResultSetHoldability()`

#### getResultSetType

    public int getResultSetType()
                         throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.getResultSetType()`

#### setEscapeProcessing

    public void setEscapeProcessing(boolean enable)
                             throws SQLException

Throws:
  `SQLException`
See Also:
  `Statement.setEscapeProcessing(boolean)`

#### unused

    protected SQLException unused()

#### execute

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

Throws:
  `SQLException`

#### execute

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

Throws:
  `SQLException`

#### executeUpdate

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

Throws:
  `SQLException`

#### executeUpdate

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

Throws:
  `SQLException`

#### executeUpdate

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

Throws:
  `SQLException`

#### execute

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

Throws:
  `SQLException`