Я не получаю такой таблицы при запуске этого метода. У меня есть мой БД в моем активе, который я копирую в каталог файлов и пытаюсь прочитать из каталога файлов - PullRequest
0 голосов
/ 26 марта 2020

Этот метод должен загружать список элементов из моего запроса. Я копирую свою базу данных (которая находится в моей папке ресурсов) в каталог флаттера, и когда я пытаюсь читать из каталога, она выдает ошибку «Нет такой таблицы»

`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'],
  );
});

} `

...