Этот метод должен загружать список элементов из моего запроса. Я копирую свою базу данных (которая находится в моей папке ресурсов) в каталог флаттера, и когда я пытаюсь читать из каталога, она выдает ошибку «Нет такой таблицы»
`Future <<" List << "Model >> model (String searchParam) asyn c {var dbDir = await getDatabasesPath (); var dbPath = join (dbDir, "app.db");
var exists = await databaseExists(dbPath);
if (!exists) {
// Should happen only the first time you launch your application
print("Creating new copy from asset");
// Create the writable database file from the bundled demo database file:
ByteData data = await rootBundle.load("assets/mydb.db");
List<int> bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
await File(dbPath).writeAsBytes(bytes);
}
print("Opening existing db");
var db = await openDatabase(dbPath);
print(db.isOpen);
// Get a reference to the database.
// final Database db = await database;
// Query the table for all The Hymns.
final List<Map<String, dynamic>> maps = await db.rawQuery("SELECT * FROM Test WHERE title LIKE '%$searchParam%' OR id LIKE '%$searchParam%'");
// final List<Map<String, dynamic>> maps = await db.query('hymns');
print(maps.length);
// Convert the List<Map<String, dynamic> into a List<Dog>.
return List.generate(maps.length, (i) {
return Model(
id: maps[i]['id'],
title: maps[i]['title'],
text: maps[i]['text'],
favorite: maps[i]['favorite'],
);
});
} `