SQLiteQueryBuilder
open class SQLiteQueryBuilder
| kotlin.Any | |
| ↳ | android.database.sqlite.SQLiteQueryBuilder |
This is a convenience class that helps build SQL queries to be sent to SQLiteDatabase objects.
This class is often used to compose a SQL query from client-supplied fragments. Best practice to protect against invalid or illegal SQL is to set the following:
setStricttrue.setProjectionMapwith the list of queryable columns.setStrictColumnstrue.setStrictGrammartrue.
Summary
| Public constructors | |
|---|---|
| Public methods | |
|---|---|
| open static Unit |
appendColumns(s: StringBuilder!, columns: Array<String!>!)Add the names that are non-null in columns to s, separating them with commas. |
| open Unit |
appendWhere(inWhere: CharSequence)Append a chunk to the |
| open Unit |
appendWhereEscapeString(inWhere: String)Append a chunk to the |
| open Unit |
appendWhereStandalone(inWhere: CharSequence)Add a standalone chunk to the |
| open String! |
buildQuery(projectionIn: Array<String!>!, selection: String!, groupBy: String!, having: String!, sortOrder: String!, limit: String!)Construct a |
| open String! | |
| open static String! |
buildQueryString(distinct: Boolean, tables: String!, columns: Array<String!>!, where: String!, groupBy: String!, having: String!, orderBy: String!, limit: String!)Build an SQL query string from the given clauses. |
| open String! |
buildUnionQuery(subQueries: Array<String!>!, sortOrder: String!, limit: String!)Given a set of subqueries, all of which are |
| open String! |
buildUnionSubQuery(typeDiscriminatorColumn: String!, unionColumns: Array<String!>!, columnsPresentInTable: MutableSet<String!>!, computedColumnsOffset: Int, typeDiscriminatorValue: String!, selection: String!, groupBy: String!, having: String!)Construct a |
| open String! | |
| open Int |
delete(db: SQLiteDatabase, selection: String?, selectionArgs: Array<String!>?)Perform a delete by combining all current settings and the information passed into this method. |
| open SQLiteDatabase.CursorFactory? |
Gets the cursor factory to be used for the query, as last configured by |
| open MutableCollection<Pattern!>? |
Gets the projection greylist for the query, as last configured by |
| open MutableMap<String!, String!>? |
Gets the projection map for the query, as last configured by |
| open String? |
Returns the list of tables being queried |
| open Long |
insert(db: SQLiteDatabase, values: ContentValues)Perform an insert by combining all current settings and the information passed into this method. |
| open Boolean |
Get if the query is marked as |
| open Boolean |
isStrict()Get if the query is marked as strict, as last configured by |
| open Boolean |
Get if the query is marked as strict, as last configured by |
| open Boolean |
Get if the query is marked as strict, as last configured by |
| open Cursor! |
query(db: SQLiteDatabase!, projectionIn: Array<String!>!, selection: String!, selectionArgs: Array<String!>!, groupBy: String!, having: String!, sortOrder: String!)Perform a query by combining all current settings and the information passed into this method. |
| open Cursor! |
query(db: SQLiteDatabase!, projectionIn: Array<String!>!, selection: String!, selectionArgs: Array<String!>!, groupBy: String!, having: String!, sortOrder: String!, limit: String!)Perform a query by combining all current settings and the information passed into this method. |
| open Cursor! |
query(db: SQLiteDatabase!, projectionIn: Array<String!>!, selection: String!, selectionArgs: Array<String!>!, groupBy: String!, having: String!, sortOrder: String!, limit: String!, cancellationSignal: CancellationSignal!)Perform a query by combining all current settings and the information passed into this method. |
| open Unit |
setCursorFactory(factory: SQLiteDatabase.CursorFactory?)Sets the cursor factory to be used for the query. |
| open Unit |
setDistinct(distinct: Boolean)Mark the query as |
| open Unit |
setProjectionGreylist(projectionGreylist: MutableCollection<Pattern!>?)Sets a projection greylist of columns that will be allowed through, even when |
| open Unit |
setProjectionMap(columnMap: MutableMap<String!, String!>?)Sets the projection map for the query. |
| open Unit |
When set, the selection is verified against malicious arguments. |
| open Unit |
setStrictColumns(strictColumns: Boolean)When enabled, verify that all projections and |
| open Unit |
setStrictGrammar(strictGrammar: Boolean)When enabled, verify that all untrusted SQL conforms to a restricted SQL grammar. |
| open Unit |
Sets the list of tables to query. |
| open Int |
update(db: SQLiteDatabase, values: ContentValues, selection: String?, selectionArgs: Array<String!>?)Perform an update by combining all current settings and the information passed into this method. |
Public constructors
Public methods
appendColumns
open static fun appendColumns(
s: StringBuilder!,
columns: Array<String!>!
): Unit
Add the names that are non-null in columns to s, separating them with commas.
appendWhere
open fun appendWhere(inWhere: CharSequence): Unit
Append a chunk to the WHERE clause of the query. All chunks appended are surrounded by parenthesis and ANDed with the selection passed to #query. The final WHERE clause looks like:
WHERE (<append chunk 1><append chunk2>) AND (<query() selection parameter>)
| Parameters | |
|---|---|
inWhere |
CharSequence: the chunk of text to append to the WHERE clause. This value cannot be null. |
appendWhereEscapeString
open fun appendWhereEscapeString(inWhere: String): Unit
Append a chunk to the WHERE clause of the query. All chunks appended are surrounded by parenthesis and ANDed with the selection passed to #query. The final WHERE clause looks like:
WHERE (<append chunk 1><append chunk2>) AND (<query() selection parameter>)
| Parameters | |
|---|---|
inWhere |
String: the chunk of text to append to the WHERE clause. it will be escaped to avoid SQL injection attacks. This value cannot be null. |
appendWhereStandalone
open fun appendWhereStandalone(inWhere: CharSequence): Unit
Add a standalone chunk to the WHERE clause of this query.
This method differs from appendWhere(CharSequence) in that it automatically appends AND to any existing WHERE clause already unde