update method

  1. @override
Future<bool> update(
  1. Map<String, dynamic> values
)
inherited

Implementation

@override
Future<bool> update(Map<String, dynamic> values) async {
  try {
    if (values.isEmpty) {
      throw InvalidArgumentException('Update values cannot be empty');
    }

    List<String> setStatements = [];
    for (var entry in values.entries) {
      final paramName = 'p${entry.key}';
      bindings[paramName] = entry.value;
      setStatements.add("${entry.key} = :$paramName");
    }

    String sql =
        "UPDATE $getTable${buildJoins()} SET ${setStatements.join(", ")}${buildWhereClause()}";
    conn = await getConnection();
    return await conn.execute(sql, bindings);
  } catch (e) {
    rethrow;
  }
}