【问题标题】:Getting the Data of SQFLITE Database in Flutter在 Flutter 中获取 SQFLITE 数据库的数据
【发布时间】:2021-10-12 12:20:52
【问题描述】:

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

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

这是我的选择功能:

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']

有人可以帮我获取原始数据,而不仅仅是“实例”消息吗?

【问题讨论】:

    标签: flutter dart sqflite


    【解决方案1】:

    试试这个:

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

    await应该在select()前面

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

    【讨论】:

    • 感谢您的回答!使用 forEach,打印效果很好!
    【解决方案2】:

    在选择方法前添加await

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-03
      • 2021-07-09
      • 2021-05-04
      • 1970-01-01
      • 2019-12-03
      • 2019-04-07
      • 2019-09-20
      • 2021-09-14
      相关资源
      最近更新 更多