execute method

  1. @override
Future<int> execute(
  1. String sql, {
  2. Map<String, dynamic>? parameters,
})
override

Execute a non-query within transaction

Implementation

@override
Future<int> execute(
  String sql, {
  Map<String, dynamic>? parameters,
}) async {
  _ensureActive();

  // 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]);
    }
  }

  _database.execute(convertedSql, paramList);
  return _database.lastInsertRowId;
}