Flutter:如何迭代一个可为 null 的表并将每个行对象添加到我的对象列表中

Flutter: How do I iterate a nullable table and add each row object to my object list

提问人:fluttergogo 提问时间:5/4/2023 最后编辑:Lajos Arpadfluttergogo 更新时间:5/4/2023 访问量:43

问:

问题:无法无条件调用方法“query”,因为接收器可以是“null”。

1 - 我已经检查过_database是否为空。我该如何解决这个问题?

2 - 我不确定如何将返回的 Rung 对象添加到 mylist。

 Future<Object?> get database async {
    if (_database != null) {
      dev.log('1 My db is NOT null: $_database', name: 'db_helper.dart');

      final List<Map<String, dynamic>> maps = await _database.query('dbtable');
      return List.generate(maps.length, (i) {
        return Rung(
          rungId: maps[i]['colId'],
          name: maps[i]['colTask'] ?? 'unknown',
          done: maps[i]['colDone'] ?? 'false',
          boldTitle: maps[i]['colBold'] ?? 'false',
          info: maps[i]['colInfo'] ?? '',

        );
      });


      // Rung rung = Rung(rungId: colId, name: colTask, done: colDone.toLowerCase()=='true', boldTitle: colBold.toLowerCase()=='true', info: colInfo);
      //Rung.myList.add(rung);
数据库 flutter sqlite 对象 arraylist

评论


答:

1赞 Lajos Arpad 5/4/2023 #1

这似乎是一种情况,您可以简单地使用 bang 运算符,因为您可以确定这不是:!databasenull

final List<Map<String, dynamic>> maps = await _database!.query('dbtable');