我需要从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));
答案 0 :(得分:0)
我想我已经解决了。
lg.forEach((f){
print(f["password"]);
});
这让我得到了想要的东西。但是,如果您有任何建议,请随时。
答案 1 :(得分:0)
您有List
个中的Map
个。您似乎想从该列表中生成特定键值的列表。 List
方法map
非常适合此类问题。例如:
final emails = lg.map((item) => item["email"]),
passwords = lg.map((item) => item["password"]);
(这些实际上是普通的Iterable
;如果您想要List
,只需在末尾添加.toList()
。)