Flutter - SQL, как вернуть простые значения - PullRequest
0 голосов
/ 06 января 2019

Во флаттере, используя пакет sqflite Я могу создать базу данных, используя этот необработанный запрос ... A

await db.execute('CREATE TABLE Article (id INTEGER PRIMARY KEY, title TEXT, description TEXT, url TEXT, urltoimage TEXT, publishedat TEXT)');`

Затем я могу записать данные в базу данных следующим образом ... B

await txn.rawInsert('INSERT INTO Article(title, description, url, urltoimage, publishedat) VALUES("$title", "$description", "$url", "$urlToImage", "$publishedAt")');

Тогда я могу получить эти данные, так что ... C

List<Map> title = await database.rawQuery('SELECT title FROM Article');

И, наконец, использовать эти данные во флаттере вот так ...

Text('${title[index]}'),

Когда я использую этот метод, я получаю этот результат при выполнении шага D ...

{title: Op-Ed: Does the Video Game Industry Really Need Blockchain?}

Я знаю, что при правильном возврате этих данных я пропускаю несколько шагов. Вместо этого я действительно хочу что-то вроде этого ... E

Op-Ed: Does the Video Game Industry Really Need Blockchain?

Как я мог получить результат типа E вместо?

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Ваша переменная заголовка имеет тип List из Map, и один элемент списка находится на карте для того, что вы видите:

{title: Op-Ed: Does the Video Game Industry Really Need Blockchain?}

ключ title, значение Op-Ed: Does the Video Game Industry Really Need Blockchain?

Итак, чтобы получить доступ к значению, вы должны использовать ключ title с индексом списка:

например: title[0]['title']

Чтобы получить все элементы в списке, вы можете отобразить как показано ниже:

Column(
  children: title.map((e) => {
    return Text(e['title'] ?? '');//if title is empty add empty string by ??
  }).toList();
),

или вы можете использовать ListView.builder или любой ..

0 голосов
/ 06 января 2019

тип запроса List<Map<String, dynamic>>

Вы можете вернуть результат, получив key, как это

Text('${title[index]["title"]}'),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...