query method
Execute a query and return mapped results
Implementation
@override
Future<List<Map<String, dynamic>>> query(
String sql, {
Map<String, dynamic>? parameters,
}) async {
await _ensureOpen();
// Convert named parameters (@param) to positional (?)
final paramList = <dynamic>[];
var convertedSql = sql;
if (parameters != null && parameters.isNotEmpty) {
for (var key in parameters.keys) {
convertedSql = convertedSql.replaceAll('@$key', '?');
paramList.add(parameters[key]);
}
}
final resultSet = _database!.select(convertedSql, paramList);
return resultSet.map((row) => Map<String, dynamic>.from(row)).toList();
}