当我运行此方法时,没有得到这样的表。我的资产中有数据库,我将其复制到文件目录,然后尝试从文件目录读取

时间:2020-03-26 10:01:42

标签: database flutter sqflite

该方法应该从我的查询中加载项目列表。我将数据库(位于资产文件夹中)复制到flutter目录中,当我尝试从该目录中读取时,出现“ No such table”错误

`Future <<“ List <<” Model >>模型(字符串searchParam)异步{ var dbDir =等待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'],
  );
});

} `

0 个答案:

没有答案