在Flutter中获取SQFLITE数据库的数据

Getting the Data of SQFLITE Database in Flutter

我正在尝试从 SQFliteDatabase 中获取数据并将其打印到控制台(稍后显示为 Inkwell 文本) 我正在尝试获取这样的数据:

var data = select();
onTap: () async => print(await data),

这是我的 select 函数:

Future<List> select() async {
  var db = await getDB();
  final List<Map<String, dynamic>> maps = await db.query('Links');

  return List.generate(maps.length, (i) {
    return Titles(
    id: maps[i]['id'],
    title: maps[i]['title'],
    parentTitle: maps[i]['parentTitle'],
    text: maps[i]['text'],
    );
  });
}

这是打印的结果:

I/flutter (27896): [Instance of 'Titles', Instance of 'Titles', Instance of 'Titles', Instance of 'Titles']

有人可以帮我获取原始数据而不仅仅是 'instance of' 消息吗?

在select方法前添加await

 var data = await select();
    onTap: () {
        for(var i in data){
          print(i['id']);
       }
    }

试试这个:

List<Titles> data = await select();
onTap: () async => data.forEach((e) => print(e.toString()));,

await应该在select()

前面

我认为您的问题可能是由打印列表而不是单个 Titles 对象引起的。有时我遇到了类似的问题并且它帮助了我(我记得)。如果对你有帮助请点个赞