Как использовать sqflite и запрашивать только 1 строку данных на флаттер - PullRequest
0 голосов
/ 06 марта 2020

Как использовать sqflite и запрашивать только 1 строку данных на флаттере.

  Future<dynamic> queryOneDaily (int id, String date) async {
    final db = await database;
    return await db.query(
      Constants.dbTable, 
      where: "${Constants.dbColId} = ? AND ${Constants.dbColDate} = ?",
      whereArgs: [id, date],
    );
  }

1 Ответ

3 голосов
/ 06 марта 2020

Из исходного кода sqlite
https://github.com/tekartik/sqflite/blob/master/sqflite/lib/sqlite_api.dart

Вы можете использовать limit

фрагмент кода

Future<dynamic> queryOneDaily (int id, String date) async {
    final db = await database;
    return await db.query(
      Constants.dbTable, 
      where: "${Constants.dbColId} = ? AND ${Constants.dbColDate} = ?",
      whereArgs: [id, date],
      limit: 1
    );
  }

фрагмент кода исходного кода

/// @param limit Limits the number of rows returned by the query,
Future<List<Map<String, dynamic>>> query(String table,
      {bool distinct,
      List<String> columns,
      String where,
      List<dynamic> whereArgs,
      String groupBy,
      String having,
      String orderBy,
      int limit,
      int offset});
...