Package SQLite

Class Stmt


  • public class Stmt
    extends Object
    Class to represent compiled SQLite3 statement. Note, that all native methods of this class are not synchronized, i.e. it is up to the caller to ensure that only one thread is in these methods at any one time.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int error_code
      Internal last error code for prepare()/step() methods.
    • Constructor Summary

      Constructors 
      Constructor Description
      Stmt()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void bind​(int pos)
      Bind positional SQL null to compiled SQLite3 statement.
      void bind​(int pos, byte[] value)
      Bind positional byte array to compiled SQLite3 statement.
      void bind​(int pos, double value)
      Bind positional double value to compiled SQLite3 statement.
      void bind​(int pos, int value)
      Bind positional integer value to compiled SQLite3 statement.
      void bind​(int pos, long value)
      Bind positional long value to compiled SQLite3 statement.
      void bind​(int pos, String value)
      Bind positional String to compiled SQLite3 statement.
      int bind_parameter_count()
      Return number of parameters in compiled SQLite3 statement.
      int bind_parameter_index​(String name)
      Return index of named parameter in compiled SQLite3 statement.
      String bind_parameter_name​(int pos)
      Return name of parameter in compiled SQLite3 statement.
      void bind_zeroblob​(int pos, int length)
      Bind positional zero'ed blob to compiled SQLite3 statement.
      void clear_bindings()
      Clear all bound parameters of the compiled SQLite3 statement.
      void close()
      Close the compiled SQLite3 statement.
      Object column​(int col)
      Retrieve column data as object from exec'ed SQLite3 statement.
      byte[] column_bytes​(int col)
      Retrieve blob column from exec'ed SQLite3 statement.
      int column_count()
      Retrieve number of columns of exec'ed SQLite3 statement.
      String column_database_name​(int col)
      Return database name of column of SQLite3 statement.
      String column_decltype​(int col)
      Return declared column type of SQLite3 statement.
      double column_double​(int col)
      Retrieve double column from exec'ed SQLite3 statement.
      int column_int​(int col)
      Retrieve integer column from exec'ed SQLite3 statement.
      long column_long​(int col)
      Retrieve long column from exec'ed SQLite3 statement.
      String column_origin_name​(int col)
      Return origin column name of column of SQLite3 statement.
      String column_string​(int col)
      Retrieve string column from exec'ed SQLite3 statement.
      String column_table_name​(int col)
      Return table name of column of SQLite3 statement.
      int column_type​(int col)
      Retrieve column type from exec'ed SQLite3 statement.
      protected void finalize()
      Destructor for object.
      boolean prepare()
      Prepare the next SQL statement for the Stmt instance.
      void reset()
      Reset the compiled SQLite3 statement without clearing parameter bindings.
      int status​(int op, boolean flg)
      Return statement status information.
      boolean step()
      Perform one step of compiled SQLite3 statement.
    • Field Detail

      • error_code

        protected int error_code
        Internal last error code for prepare()/step() methods.
    • Constructor Detail

      • Stmt

        public Stmt()
    • Method Detail

      • prepare

        public boolean prepare()
                        throws Exception
        Prepare the next SQL statement for the Stmt instance.
        Returns:
        true when the next piece of the SQL statement sequence has been prepared, false on end of statement sequence.
        Throws:
        Exception
      • step

        public boolean step()
                     throws Exception
        Perform one step of compiled SQLite3 statement. Example:
           ...
           try {
             Stmt s = db.prepare("select * from x; select * from y;");
             s.bind(...);
             ...
             s.bind(...);
             while (s.step(cb)) {
               Object o = s.value(...);
               ...
             }
             // s.reset() for re-execution or
             // s.prepare() for the next piece of SQL
             while (s.prepare()) {
               s.bind(...);
               ...
               s.bind(...);
               while (s.step(cb)) {
                 Object o = s.value(...);
                 ...
               }
             }
           } catch (SQLite.Exception e) {
             s.close();
           }
         
        Returns:
        true when row data is available, false on end of result set.
        Throws:
        Exception
      • close

        public void close()
                   throws Exception
        Close the compiled SQLite3 statement.
        Throws:
        Exception
      • reset

        public void reset()
                   throws Exception
        Reset the compiled SQLite3 statement without clearing parameter bindings.
        Throws:
        Exception
      • clear_bindings

        public void clear_bindings()
                            throws Exception
        Clear all bound parameters of the compiled SQLite3 statement.
        Throws:
        Exception
      • bind

        public void bind​(int pos,
                         int value)
                  throws Exception
        Bind positional integer value to compiled SQLite3 statement.
        Parameters:
        pos - parameter index, 1-based
        value - value of parameter
        Throws:
        Exception
      • bind

        public void bind​(int pos,
                         long value)
                  throws Exception
        Bind positional long value to compiled SQLite3 statement.
        Parameters:
        pos - parameter index, 1-based
        value - value of parameter
        Throws:
        Exception
      • bind

        public void bind​(int pos,
                         double value)
                  throws Exception
        Bind positional double value to compiled SQLite3 statement.
        Parameters:
        pos - parameter index, 1-based
        value - value of parameter
        Throws:
        Exception
      • bind

        public void bind​(int pos,
                         byte[] value)
                  throws Exception
        Bind positional byte array to compiled SQLite3 statement.
        Parameters:
        pos - parameter index, 1-based
        value - value of parameter, may be null
        Throws:
        Exception
      • bind

        public void bind​(int pos,
                         String value)
                  throws Exception
        Bind positional String to compiled SQLite3 statement.
        Parameters:
        pos - parameter index, 1-based
        value - value of parameter, may be null
        Throws:
        Exception
      • bind

        public void bind​(int pos)
                  throws Exception
        Bind positional SQL null to compiled SQLite3 statement.
        Parameters:
        pos - parameter index, 1-based
        Throws:
        Exception
      • bind_zeroblob

        public void bind_zeroblob​(int pos,
                                  int length)
                           throws Exception
        Bind positional zero'ed blob to compiled SQLite3 statement.
        Parameters:
        pos - parameter index, 1-based
        length - byte size of zero blob
        Throws:
        Exception
      • bind_parameter_count

        public int bind_parameter_count()
                                 throws Exception
        Return number of parameters in compiled SQLite3 statement.
        Returns:
        int number of parameters
        Throws:
        Exception
      • bind_parameter_name

        public String bind_parameter_name​(int pos)
                                   throws Exception
        Return name of parameter in compiled SQLite3 statement.
        Parameters:
        pos - parameter index, 1-based
        Returns:
        String parameter name
        Throws:
        Exception
      • bind_parameter_index

        public int bind_parameter_index​(String name)
                                 throws Exception
        Return index of named parameter in compiled SQLite3 statement.
        Parameters:
        name - of parameter
        Returns:
        int index of parameter, 1-based
        Throws:
        Exception
      • column_int

        public int column_int​(int col)
                       throws Exception
        Retrieve integer column from exec'ed SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        int column value
        Throws:
        Exception
      • column_long

        public long column_long​(int col)
                         throws Exception
        Retrieve long column from exec'ed SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        long column value
        Throws:
        Exception
      • column_double

        public double column_double​(int col)
                             throws Exception
        Retrieve double column from exec'ed SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        double column value
        Throws:
        Exception
      • column_bytes

        public byte[] column_bytes​(int col)
                            throws Exception
        Retrieve blob column from exec'ed SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        byte[] column value
        Throws:
        Exception
      • column_string

        public String column_string​(int col)
                             throws Exception
        Retrieve string column from exec'ed SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        String column value
        Throws:
        Exception
      • column_type

        public int column_type​(int col)
                        throws Exception
        Retrieve column type from exec'ed SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        column type code, e.g. SQLite.Constants.SQLITE_INTEGER
        Throws:
        Exception
      • column_count

        public int column_count()
                         throws Exception
        Retrieve number of columns of exec'ed SQLite3 statement.
        Returns:
        int number of columns
        Throws:
        Exception
      • column

        public Object column​(int col)
                      throws Exception
        Retrieve column data as object from exec'ed SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        Object or null
        Throws:
        Exception
      • column_table_name

        public String column_table_name​(int col)
                                 throws Exception
        Return table name of column of SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        String or null
        Throws:
        Exception
      • column_database_name

        public String column_database_name​(int col)
                                    throws Exception
        Return database name of column of SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        String or null
        Throws:
        Exception
      • column_decltype

        public String column_decltype​(int col)
                               throws Exception
        Return declared column type of SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        String or null
        Throws:
        Exception
      • column_origin_name

        public String column_origin_name​(int col)
                                  throws Exception
        Return origin column name of column of SQLite3 statement.
        Parameters:
        col - column number, 0-based
        Returns:
        String or null
        Throws:
        Exception
      • status

        public int status​(int op,
                          boolean flg)
        Return statement status information.
        Parameters:
        op - which counter to report
        flg - reset flag
        Returns:
        counter
      • finalize

        protected void finalize()
        Destructor for object.
        Overrides:
        finalize in class Object