Package SQLite.JDBC2z

Class JDBCStatement

    • Constructor Detail

    • Method Detail

      • setFetchSize

        public void setFetchSize​(int fetchSize)
                          throws SQLException
        Description copied from interface: Statement
        Sets the fetch size. This is a hint to the JDBC driver about how many rows should be fetched from the database when more are required by application processing.
        Specified by:
        setFetchSize in interface Statement
        Parameters:
        fetchSize - the number of rows that should be fetched. 0 tells the driver to ignore the hint. Should be less than getMaxRows for this statement. Should not be negative.
        Throws:
        SQLException - if an error occurs accessing the database, or if the rows parameter is out of range.
      • getFetchSize

        public int getFetchSize()
                         throws SQLException
        Description copied from interface: Statement
        Gets the default number of rows for a fetch for the ResultSet objects returned from this statement.
        Specified by:
        getFetchSize in interface Statement
        Returns:
        the default fetch size for ResultSets produced by this statement.
        Throws:
        SQLException - if an error occurs accessing the database.
      • getMaxRows

        public int getMaxRows()
                       throws SQLException
        Description copied from interface: Statement
        Gets the maximum number of rows that a ResultSet can contain when produced from this statement. If the limit is exceeded, the excess rows are discarded silently.
        Specified by:
        getMaxRows in interface Statement
        Returns:
        the current row limit, where 0 means that there is no limit.
        Throws:
        SQLException - if an error occurs accessing the database.
      • setMaxRows

        public void setMaxRows​(int max)
                        throws SQLException
        Description copied from interface: Statement
        Sets the maximum number of rows that any ResultSet can contain. If the number of rows exceeds this value, the additional rows are silently discarded.
        Specified by:
        setMaxRows in interface Statement
        Parameters:
        max - the maximum number of rows. 0 means "no limit".
        Throws:
        SQLException - if an error occurs accessing the database or if max < 0.
      • setFetchDirection

        public void setFetchDirection​(int fetchDirection)
                               throws SQLException
        Description copied from interface: Statement
        Sets the fetch direction - a hint to the JDBC driver about the direction of processing of rows in ResultSets created by this statement. The default fetch direction is FETCH_FORWARD.
        Specified by:
        setFetchDirection in interface Statement
        Parameters:
        fetchDirection - which fetch direction to use. This parameter should be one of
        • ResultSet.FETCH_UNKNOWN
        • ResultSet.FETCH_FORWARD
        • ResultSet.FETCH_REVERSE
        Throws:
        SQLException - if there is an error while accessing the database or if the fetch direction is unrecognized.
      • getFetchDirection

        public int getFetchDirection()
                              throws SQLException
        Description copied from interface: Statement
        Gets the default direction for fetching rows for ResultSets generated from this statement.
        Specified by:
        getFetchDirection in interface Statement
        Returns:
        the default fetch direction, one of:
        • ResultSet.FETCH_FORWARD
        • ResultSet.FETCH_REVERSE
        • ResultSet.FETCH_UNKNOWN
        Throws:
        SQLException - if an error occurs accessing the database.
      • getResultSetConcurrency

        public int getResultSetConcurrency()
                                    throws SQLException
        Description copied from interface: Statement
        Gets the concurrency setting for ResultSet objects generated by this statement.
        Specified by:
        getResultSetConcurrency in interface Statement
        Returns:
        ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE.
        Throws:
        SQLException - if an error occurs accessing the database.
      • getResultSetType

        public int getResultSetType()
                             throws SQLException
        Description copied from interface: Statement
        Gets the ResultSet type setting for ResultSets derived from this statement.
        Specified by:
        getResultSetType in interface Statement
        Returns:
        ResultSet.TYPE_FORWARD_ONLY for a ResultSet where the cursor can only move forwards, ResultSet.TYPE_SCROLL_INSENSITIVE for a ResultSet which is scrollable but is not sensitive to changes made by others, ResultSet.TYPE_SCROLL_SENSITIVE for a ResultSet which is scrollable but is sensitive to changes made by others.
        Throws:
        SQLException - if there is an error accessing the database.
      • setQueryTimeout

        public void setQueryTimeout​(int seconds)
                             throws SQLException
        Description copied from interface: Statement
        Sets the timeout, in seconds, for queries - how long the driver will allow for completion of a statement execution. If the timeout is exceeded, the query will throw an SQLException.
        Specified by:
        setQueryTimeout in interface Statement
        Parameters:
        seconds - timeout in seconds. 0 means no timeout ("wait forever")
        Throws:
        SQLException - if an error occurs accessing the database or if seconds < 0.
      • getQueryTimeout

        public int getQueryTimeout()
                            throws SQLException
        Description copied from interface: Statement
        Gets the timeout value for the statement's execution time. The JDBC driver will wait up to this value for the execution to complete - after the limit is exceeded an SQL Exception is thrown.
        Specified by:
        getQueryTimeout in interface Statement
        Returns:
        the current query timeout value, where 0 indicates that there is no current timeout.
        Throws:
        SQLException - if an error occurs accessing the database.
      • getResultSet

        public ResultSet getResultSet()
                               throws SQLException
        Description copied from interface: Statement
        Gets the current result. Should only be called once per result.
        Specified by:
        getResultSet in interface Statement
        Returns:
        the ResultSet for the current result. null if the result is an update count or if there are no more results.
        Throws:
        SQLException - if an error occurs accessing the database.
      • executeQuery

        public ResultSet executeQuery​(String sql)
                               throws SQLException
        Description copied from interface: Statement
        Executes a supplied SQL statement. Returns a single ResultSet.
        Specified by:
        executeQuery in interface Statement
        Parameters:
        sql - an SQL statement to execute. Typically a SELECT statement
        Returns:
        a ResultSet containing the data produced by the SQL statement. Never null.
        Throws:
        SQLException - if an error occurs accessing the database or if the statement produces anything other than a single ResultSet.
      • execute

        public boolean execute​(String sql)
                        throws SQLException
        Description copied from interface: Statement
        Executes a supplied SQL statement. This may return multiple ResultSets.

        Use the getResultSet or getUpdateCount methods to get the first result and getMoreResults to get any subsequent results.

        Specified by:
        execute in interface Statement
        Parameters:
        sql - the SQL statement to execute
        Returns:
        true if the first result is a ResultSet, false if the first result is an update count or if there is no result.
        Throws:
        SQLException - if an error occurs accessing the database.
      • cancel

        public void cancel()
                    throws SQLException
        Description copied from interface: Statement
        Cancels this statement's execution if both the database and the JDBC driver support aborting an SQL statement in flight. This method can be used by one thread to stop a statement that is executed on another thread.
        Specified by:
        cancel in interface Statement
        Throws:
        SQLException - if an error occurs accessing the database.
      • getConnection

        public Connection getConnection()
                                 throws SQLException
        Description copied from interface: Statement
        Gets the Connection object which created this statement.
        Specified by:
        getConnection in interface Statement
        Returns:
        the Connection through which this statement is transmitted to the database.
        Throws:
        SQLException - if an error occurs accessing the database.
      • addBatch

        public void addBatch​(String sql)
                      throws SQLException
        Description copied from interface: Statement
        Adds a specified SQL command to the list of commands for this Statement.

        The list of commands is executed by invoking the executeBatch method.

        Specified by:
        addBatch in interface Statement
        Parameters:
        sql - the SQL command as a String. Typically an INSERT or UPDATE statement.
        Throws:
        SQLException - if an error occurs accessing the database or the database does not support batch updates.
      • executeBatch

        public int[] executeBatch()
                           throws SQLException
        Description copied from interface: Statement
        Submits a batch of SQL commands to the database. Returns an array of update counts, if all the commands execute successfully.

        If one of the commands in the batch fails, this method can throw a BatchUpdateException and the JDBC driver may or may not process the remaining commands. The JDBC driver must behave consistently with the underlying database, following the "all or nothing" principle. If the driver continues processing, the array of results returned contains the same number of elements as there are commands in the batch, with a minimum of one of the elements having the EXECUTE_FAILED value.

        Specified by:
        executeBatch in interface Statement
        Returns:
        an array of update counts, with one entry for each command in the batch. The elements are ordered according to the order in which the commands were added to the batch.

        1. If the value of an element is ≥ 0, the corresponding command completed successfully and the value is the update count (the number of rows in the database affected by the command) for that command.
        2. If the value is SUCCESS_NO_INFO, the command completed successfully but the number of rows affected is unknown.
        3. If the value is EXECUTE_FAILED, the command failed.
        Throws:
        SQLException - if an error occurs accessing the database.
      • clearBatch

        public void clearBatch()
                        throws SQLException
        Description copied from interface: Statement
        Clears the current list of SQL commands for this statement.
        Specified by:
        clearBatch in interface Statement
        Throws:
        SQLException - if an error occurs accessing the database or the database does not support batch updates.
      • close

        public void close()
                   throws SQLException
        Description copied from interface: Statement
        Releases this statement's database and JDBC driver resources.

        Using this method to release these resources as soon as possible is strongly recommended.

        One should not rely on the resources being automatically released when finalized during garbage collection. Doing so can result in unpredictable behavior for the application.

        Specified by:
        close in interface AutoCloseable
        Specified by:
        close in interface Statement
        Throws:
        SQLException - if an error occurs accessing the database.
      • executeUpdate

        public int executeUpdate​(String sql)
                          throws SQLException
        Description copied from interface: Statement
        Executes the supplied SQL statement. The statement may be an INSERT, UPDATE or DELETE statement or a statement which returns nothing.
        Specified by:
        executeUpdate in interface Statement
        Parameters:
        sql - an SQL statement to execute - an SQL INSERT, UPDATE, DELETE or a statement which returns nothing
        Returns:
        the count of updated rows, or 0 for a statement that returns nothing.
        Throws:
        SQLException - if an error occurs accessing the database or if the statement produces a ResultSet.
      • getMaxFieldSize

        public int getMaxFieldSize()
                            throws SQLException
        Description copied from interface: Statement
        Gets the maximum number of bytes which can be returned as values from character and binary type columns in a ResultSet derived from this statement. This limit applies to BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, and LONGVARCHAR types. Any data exceeding the maximum size is abandoned without announcement.
        Specified by:
        getMaxFieldSize in interface Statement
        Returns:
        the current size limit, where 0 means that there is no limit.
        Throws:
        SQLException - if an error occurs accessing the database.
      • getMoreResults

        public boolean getMoreResults()
                               throws SQLException
        Description copied from interface: Statement
        Moves to this statement's next result. Returns true if it is a ResultSet. Any current ResultSet objects previously obtained with getResultSet() are closed implicitly.
        Specified by:
        getMoreResults in interface Statement
        Returns:
        true if the next result is a ResultSet, false if the next result is not a ResultSet or if there are no more results. Note that if there is no more data, this method will return false and getUpdateCount will return -1.
        Throws:
        SQLException - if an error occurs accessing the database.
      • getUpdateCount

        public int getUpdateCount()
                           throws SQLException
        Description copied from interface: Statement
        Gets an update count for the current result if it is not a ResultSet.
        Specified by:
        getUpdateCount in interface Statement
        Returns:
        the current result as an update count. -1 if the current result is a ResultSet or if there are no more results.
        Throws:
        SQLException - if an error occurs accessing the database.
      • getWarnings

        public SQLWarning getWarnings()
                               throws SQLException
        Description copied from interface: Statement
        Retrieves the first SQLWarning reported by calls on this statement. If there are multiple warnings, subsequent warnings are chained to the first one. The chain of warnings is cleared each time the statement is executed.

        Warnings associated with reads from the ResultSet returned from executing the statement will be attached to the ResultSet, not the statement object.

        Specified by:
        getWarnings in interface Statement
        Returns:
        an SQLWarning, null if there are no warnings
        Throws:
        SQLException - if an error occurs accessing the database.
      • setCursorName

        public void setCursorName​(String name)
                           throws SQLException
        Description copied from interface: Statement
        Sets the SQL cursor name. This name is used by subsequent statement execute methods.

        Cursor names must be unique within one Connection.

        With the cursor name set, it can then be used in SQL positioned update or delete statements to determine the current row in a ResultSet generated from this statement. The positioned update or delete must be done with a different statement than this one.

        Specified by:
        setCursorName in interface Statement
        Parameters:
        name - the Cursor name as a string,
        Throws:
        SQLException - if an error occurs accessing the database.
      • setEscapeProcessing

        public void setEscapeProcessing​(boolean enable)
                                 throws SQLException
        Description copied from interface: Statement
        Sets Escape Processing mode.

        If Escape Processing is on, the JDBC driver will do escape substitution on an SQL statement before sending it for execution. This does not apply to PreparedStatements since they are processed when created, before this method can be called.

        Specified by:
        setEscapeProcessing in interface Statement
        Parameters:
        enable - true to set escape processing mode on, false to turn it off.
        Throws:
        SQLException - if an error occurs accessing the database.
      • setMaxFieldSize

        public void setMaxFieldSize​(int max)
                             throws SQLException
        Description copied from interface: Statement
        Sets the maximum number of bytes for ResultSet columns that contain character or binary values. This applies to BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, and LONGVARCHAR fields. Any data exceeding the maximum size is abandoned without announcement.
        Specified by:
        setMaxFieldSize in interface Statement
        Parameters:
        max - the maximum field size in bytes. 0 means "no limit".
        Throws:
        SQLException - if an error occurs accessing the database or the max value is < 0.
      • getMoreResults

        public boolean getMoreResults​(int x)
                               throws SQLException
        Description copied from interface: Statement
        Moves to this statement's next result. Returns true if the next result is a ResultSet. Any current ResultSet objects previously obtained with getResultSet() are handled as indicated by a supplied Flag parameter.
        Specified by:
        getMoreResults in interface Statement
        Parameters:
        x - a flag indicating what to do with existing ResultSets. This parameter must be one of Statement.CLOSE_ALL_RESULTS, Statement.CLOSE_CURRENT_RESULT or Statement.KEEP_CURRENT_RESULT.
        Returns:
        true if the next result exists and is a ResultSet , false if the next result is not a ResultSet or if there are no more results. Note that if there is no more data, this method will return false and getUpdateCount will return -1.
        Throws:
        SQLException - if an error occurs accessing the database.
      • getGeneratedKeys

        public ResultSet getGeneratedKeys()
                                   throws SQLException
        Description copied from interface: Statement
        Returns auto generated keys created by executing this statement.
        Specified by:
        getGeneratedKeys in interface Statement
        Returns:
        a ResultSet containing the auto generated keys - empty if no keys are generated by this statement.
        Throws:
        SQLException - if an error occurs accessing the database.
      • executeUpdate

        public int executeUpdate​(String sql,
                                 int autokeys)
                          throws SQLException
        Description copied from interface: Statement
        Executes the supplied SQL statement. This method allows control of whether auto-generated Keys should be made available for retrieval.
        Specified by:
        executeUpdate in interface Statement
        Parameters:
        sql - an SQL statement to execute - an SQL INSERT, UPDATE, DELETE or a statement which does not return anything.
        autokeys - a flag that indicates whether to allow retrieval of auto generated keys. Parameter must be one of Statement.RETURN_GENERATED_KEYS or Statement.NO_GENERATED_KEYS
        Returns:
        the number of updated rows, or 0 if the statement returns nothing.
        Throws:
        SQLException - if an error occurs accessing the database or if the statement produces a ResultSet.
      • executeUpdate

        public int executeUpdate​(String sql,
                                 int[] colIndexes)
                          throws SQLException
        Description copied from interface: Statement
        Executes the supplied SQL statement. This method allows retrieval of auto generated keys specified by the supplied array of column indexes.
        Specified by:
        executeUpdate in interface Statement
        Parameters:
        sql - an SQL statement to execute - an SQL INSERT, UPDATE, DELETE or a statement which returns nothing
        colIndexes - an array of indexes of the columns in the inserted row which should be made available for retrieval via the getGeneratedKeys method.
        Returns:
        the count of updated rows, or 0 for a statement that returns nothing.
        Throws:
        SQLException - if an error occurs accessing the database or if the statement produces a ResultSet.
      • executeUpdate

        public int executeUpdate​(String sql,
                                 String[] colIndexes)
                          throws SQLException
        Description copied from interface: Statement
        Executes the supplied SQL statement. This method allows retrieval of auto generated keys specified by the supplied array of column names.
        Specified by:
        executeUpdate in interface Statement
        Parameters:
        sql - an SQL statement to execute - an SQL INSERT, UPDATE, DELETE or a statement which returns nothing
        colIndexes - an array of column names in the inserted row which should be made available for retrieval via the getGeneratedKeys method.
        Returns:
        the count of updated rows, or 0 for a statement that returns nothing.
        Throws:
        SQLException - if an error occurs accessing the database or if the statement produces a ResultSet.
      • execute

        public boolean execute​(String sql,
                               int autokeys)
                        throws SQLException
        Description copied from interface: Statement
        Executes a supplied SQL statement. This may return multiple ResultSets. This method allows control of whether auto-generated Keys should be made available for retrieval, if the SQL statement is an INSERT statement.

        Use the getResultSet or getUpdateCount methods to get the first result and getMoreResults to get any subsequent results.

        Specified by:
        execute in interface Statement
        Parameters:
        sql - the SQL statement to execute.
        autokeys - a flag indicating whether to make auto generated keys available for retrieval. This parameter must be one of Statement.NO_GENERATED_KEYS or Statement.RETURN_GENERATED_KEYS.
        Returns:
        true if results exists and the first result is a ResultSet, false if the first result is an update count or if there is no result.
        Throws:
        SQLException - if an error occurs accessing the database.
      • execute

        public boolean execute​(String sql,
                               int[] colIndexes)
                        throws SQLException
        Description copied from interface: Statement
        Executes the supplied SQL statement. This may return multiple ResultSets. This method allows retrieval of auto generated keys specified by the supplied array of column indexes, if the SQL statement is an INSERT statement.

        Use the getResultSet or getUpdateCount methods to get the first result and getMoreResults to get any subsequent results.

        Specified by:
        execute in interface Statement
        Parameters:
        sql - the SQL statement to execute.
        colIndexes - an array of indexes of the columns in the inserted row which should be made available for retrieval via the getGeneratedKeys method.
        Returns:
        true if the first result is a ResultSet, false if the first result is an update count or if there is no result.
        Throws:
        SQLException - if an error occurs accessing the database.
      • execute

        public boolean execute​(String sql,
                               String[] colIndexes)
                        throws SQLException
        Description copied from interface: Statement
        Executes the supplied SQL statement. This may return multiple ResultSets. This method allows retrieval of auto generated keys specified by the supplied array of column indexes, if the SQL statement is an INSERT statement.

        Use the getResultSet or getUpdateCount methods to get the first result and getMoreResults to get any subsequent results.

        Specified by:
        execute in interface Statement
        Parameters:
        sql - the SQL statement to execute.
        colIndexes - an array of column names in the inserted row which should be made available for retrieval via the getGeneratedKeys method.
        Returns:
        true if the first result is a ResultSet, false if the first result is an update count or if there is no result
        Throws:
        SQLException - if an error occurs accessing the database.
      • getResultSetHoldability

        public int getResultSetHoldability()
                                    throws SQLException
        Description copied from interface: Statement
        Gets the cursor hold setting for ResultSet objects generated by this statement.
        Specified by:
        getResultSetHoldability in interface Statement
        Returns:
        ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
        Throws:
        SQLException - if there is an error while accessing the database.
      • setPoolable

        public void setPoolable​(boolean yes)
                         throws SQLException
        Description copied from interface: Statement
        Hints whether this statement should be pooled. Defaults to false for Statement, but true for CallableStatement and PreparedStatement. Pool manager implementations may or may not honor this hint.
        Specified by:
        setPoolable in interface Statement
        Throws:
        SQLException
      • unwrap

        public <T> T unwrap​(Class<T> iface)
                     throws SQLException
        Description copied from interface: Wrapper
        Returns an object that implements the given interface. If the caller is not a wrapper, a SQLException will be thrown.
        Specified by:
        unwrap in interface Wrapper
        Parameters:
        iface - - the class that defines the interface
        Returns:
        - an object that implements the interface
        Throws:
        SQLException - - if there is no object implementing the specific interface
      • isWrapperFor

        public boolean isWrapperFor​(Class iface)
                             throws SQLException
        Description copied from interface: Wrapper
        If the caller is a wrapper of the class or implements the given interface, the methods return false and vice versa.
        Specified by:
        isWrapperFor in interface Wrapper
        Parameters:
        iface - - the class that defines the interface
        Returns:
        - true if the instance implements the interface
        Throws:
        SQLException - - when an error occurs when judges the object