如何从地图列表中逐列检索飞镖中的数据?

Posted

技术标签:

【中文标题】如何从地图列表中逐列检索飞镖中的数据?【英文标题】:How to retrieve data column by column in dart from list of maps? 【发布时间】:2019-08-29 10:42:56 【问题描述】:

我需要从 SQLite 数据库的 2 列中检索值,并且我正在使用辅助查询对其进行查询。

我尝试通过索引值。

print("In the login List : "+ lg[0].toString());

但我得到了

In the login List : email: xxxx@gmail.com, password: xxxx

  Future<bool> loginUser(String username, String password) async 
    bool isSuccess;
    Database db = await this.database;
    List<Map<String, dynamic>> lg = await db.query(regTable,
        columns: [colEmail, colPassword],
        where: "$colEmail = ? AND $colPassword = ?",
        whereArgs: [username, password]);
    if (lg.length > 0) 
      print("In the login List : "+ lg[0].toString());
      isSuccess = true;
     else 
      isSuccess = false;
    
    return isSuccess;
  

我需要能够分别检索电子邮件和密码。 喜欢, print(Email : lg(email));

【问题讨论】:

【参考方案1】:

我想我已经明白了。

      lg.forEach((f)
        print(f["password"]);
      );

这让我得到了我想要的。但如果您有任何建议,请随时提出。

【讨论】:

【参考方案2】:

您有一个 ListMaps。看起来您想从该列表中生成特定键值的列表。 List 方法 map 非常适合此类问题。例如:

final emails = lg.map((item) => item["email"]), 
  passwords = lg.map((item) => item["password"]);

(这些实际上是普通的Iterables;如果你想要Lists,只需在末尾添加.toList()。)

【讨论】:

以上是关于如何从地图列表中逐列检索飞镖中的数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在同一行名称中逐列插入空行的值,然后将插值数据复制到原始DataFrame?

如何使用颤振和飞镖从 Cloud Firestore 检索特定数据?

如何在返回小部件之前遍历列表以创建地图?颤振 - 飞镖

如何使用 C# 从 SQL Server 数据库中逐行将数据检索到 datagridview 中

如何从飞镖颤动中的键或键值对获取索引

如何在飞镖/颤振中设置或删除地图标记