Как извлечь данные столбец за столбцом в дротик из списка карт? - PullRequest
0 голосов
/ 08 апреля 2019

Мне нужно извлечь значения из 2 столбцов из базы данных SQLite, и я использую вспомогательный запрос к нему.

Я пытался индексировать значения.

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));

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

У вас есть List из Map с. Похоже, вы хотите сгенерировать список определенных значений ключей из этого списка. Метод List map отлично подходит для такого рода проблем. Например:

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

(На самом деле это простые Iterable с; если вы хотите List с, просто добавьте .toList() в конце.)

0 голосов
/ 08 апреля 2019

Мне кажется, я понял это.

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

Это дает мне то, что я хочу. Но если у вас есть предложения, пожалуйста, не стесняйтесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...