executeSQL<T> method

Future<SQLResponseOf<T>> executeSQL<T>({
  1. required String sql,
  2. T transform(
    1. dynamic
    )?,
  3. dynamic dataSetType = 'set',
})

Executes an SQL query and returns the result as a SQLResponseOf object.

The sql parameter specifies the SQL query to execute. The transform parameter is an optional function to transform the query result. The dataSetType parameter specifies the type of data set being queried.

Implementation

Future<SQLResponseOf<T>> executeSQL<T>({required String sql, T Function(dynamic)? transform, dataSetType = 'set'}) async {
  try {
    var result = await sqlFunction(sql);
    transform ??= (x) => x as T;
    T data = transform(result);
    return SQLResponseOf<T>.fromData(data, sql: sql, dataSetType: dataSetType);
  } catch (e) {
    return SQLResponseOf<T>.error(message: e.toString(), sql: sql, dataSetType: dataSetType);
  }
}