[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()
Compare to: