Как открыть и запросить базу данных .sqlite только для чтения во флаттере

void openDb() async {
  Database _db;
  _db ??
      await openReadOnlyDatabase(
          'package:myAppName/databasesFolder/db_drill_pipe.sqlite');
  var list = await _db.query('table_name_1', columns: ['column_title_1]);
  print('$list');
}

Я получаю такую ​​ошибку:

Tried calling: query("table_name_1", columns: Instance(length:1) of '_GrowableList')
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1      openDb (package:kbook/databases/db_helper.dart:50:24)
<asynchronous suspension>

У меня есть один файл базы данных с расширением .sqlite, в нем три таблицы. Все, что мне нужно, это открыть и запросить данные из этого файла, когда пользователь запускает триггер во время выполнения, я никогда не буду писать или обновлять базу данных, только для чтения. Я думал, что это будет более отзывчивым, чем json, но я застрял.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
0
0
9
1

Ответы 1

Я надеюсь, что это в какой-то мере поможет, именно так я использую это в своем коде:

Future<Database> get database async {
    if (_database != null) return _database;
    _database = await _databaseConnection.setDatabase();
    return database;
  }

readData(table) async {
    var connection = await database;
    return await connection.query(table);
  }

read() async {
    return await _repository.readData('Table');
  }

Другие вопросы по теме