query abstract method
This is a helper to query a table and return the items found. All optional clauses and filters are formatted as SQL queries excluding the clauses' names.
table
contains the table names to compile the query against.
distinct
when set to true ensures each row is unique.
The columns
list specify which columns to return. Passing null will
return all columns, which is discouraged.
where
filters which rows to return. Passing null will return all rows
for the given URL. '?'s are replaced with the items in the
whereArgs
field.
groupBy
declares how to group rows. Passing null
will cause the rows to not be grouped.
having
declares which row groups to include in the cursor,
if row grouping is being used. Passing null will cause
all row groups to be included, and is required when row
grouping is not being used.
orderBy
declares how to order the rows,
Passing null will use the default sort order,
which may be unordered.
limit
limits the number of rows returned by the query.
offset
specifies the starting index.
List<Map> maps = await db.query(tableTodo,
columns: ['columnId', 'columnDone', 'columnTitle'],
where: 'columnId = ?',
whereArgs: [id]);
Implementation
Future<List<Map<String, Object?>>> query(String table,
{bool? distinct,
List<String>? columns,
String? where,
List<Object?>? whereArgs,
String? groupBy,
String? having,
String? orderBy,
int? limit,
int? offset});