Linux Mac OSX Windows

  
[scriptable, uuid(42fad13e-c67d-4b2c-bd61-2c5b17186772)]
interface mozIStorageStatement : mozIStorageValueArray

Constants

 The current state.  Row getters are only valid while
 the statement is in the "executing" state.
const long MOZ_STORAGE_STATEMENT_INVALID = 0

        
const long MOZ_STORAGE_STATEMENT_READY = 1

        
const long MOZ_STORAGE_STATEMENT_EXECUTING = 2

Attributes

 Number of columns returned
readonly attribute unsigned long columnCount

        
readonly attribute unsigned long parameterCount

        
readonly attribute long state

Methods


        
void bindBlobParameter(in unsigned long aParamIndex, [const, array, size_is(aValueSize)] in octet aValue, in unsigned long aValueSize)

        
void bindDoubleParameter(in unsigned long aParamIndex, in double aValue)

        
void bindInt32Parameter(in unsigned long aParamIndex, in long aValue)

        
void bindInt64Parameter(in unsigned long aParamIndex, in long long aValue)

        
void bindNullParameter(in unsigned long aParamIndex)

        
void bindStringParameter(in unsigned long aParamIndex, in AString aValue)
 Bind the given value to the parameter at aParamIndex. Index 0
 denotes the first numbered argument or ?1.
void bindUTF8StringParameter(in unsigned long aParamIndex, in AUTF8String aValue)
 Create a clone of this statement, by initializing a new statement
 with the same connection and same SQL statement as this one.  It
 does not preserve statement state; that is, if a statement is
 being executed when it is cloned, the new statement will not be
 executing.
mozIStorageStatement clone()
 Escape a string for SQL LIKE search.

 @param     aValue the string to escape for SQL LIKE 
 @param     aEscapeChar the escape character
 @returns   an AString of an escaped version of aValue
            (%, _ and the escape char are escaped with the escape char)
            For example, we will convert "foo/bar_baz%20cheese" 
            into "foo//bar/_baz/%20cheese" (if the escape char is '/').
 @note      consumers will have to use same escape char
            when doing statements such as:   ...LIKE '?1' ESCAPE '/'...
AString escapeStringForLIKE(in AString aValue, in wchar aEscapeChar)
 Execute the query, ignoring any results.  This is accomplished by
 calling step() once, and then calling reset().

 Error and last insert info, etc. are available from
 the mozStorageConnection.
void execute()
 Execute a query, using any currently-bound parameters.  Reset
 must be called on the statement after the last call of
 executeStep.

 @returns a boolean indicating whether there are more rows or not;
 row data may be accessed using mozIStorageValueArray methods on
 the statement.

boolean executeStep()
 Finalizes a statement so you can successfully close a database connection.
 This method does not need to be used from native callers since you can just
 set the statement to null, but is extremely useful to JS callers.
void finalize()
 Obtains the declared column type of a prepared statement.

 @param aParamIndex The zero-based index of the column who's declared type
                    we are interested in.
 @returns the declared index type.
AUTF8String getColumnDecltype(in unsigned long aParamIndex)
 Obtains the index of the column with the specified name.

 @param aName The name of the column.
 @return The index of the column with the specified name.
unsigned long getColumnIndex(in AUTF8String aName)
 Name of nth column
AUTF8String getColumnName(in unsigned long aColumnIndex)

        
[noscript, notxpcom] sqlite3stmtptr getNativeStatementPointer()
 Returns the index of the named parameter.

 @param aName The name of the parameter you want the index for.
 @return The index of the named parameter.
unsigned long getParameterIndex(in AUTF8String aName)
 Name of nth parameter, if given
AUTF8String getParameterName(in unsigned long aParamIndex)
 Initialize this query with the given SQL statement.

void initialize(in mozIStorageConnection aDBConnection, in AUTF8String aSQLStatement)
 Reset parameters/statement execution
void reset()