Получить все в APSW - PullRequest
       4

Получить все в APSW

1 голос
/ 06 мая 2011

Вы знаете, что нет никакого метода "fetchall" для APSW . Мы можем использовать только метод .next () . Итак, как я могу взять результат команды выполнения с запросом выбора в список?

Заранее спасибо

1 Ответ

1 голос
/ 06 мая 2011

Версия 3.6.22 apsw позволяет мне использовать cursor.fetchall() для получения всех строк в списке:

import apsw

conn = apsw.Connection(':memory:')
curs = conn.cursor()
curs.execute("CREATE TABLE foo (id INTEGER, name VARCHAR(255))")
curs.executemany("INSERT INTO foo VALUES (?, ?)", [(1, 'bar'),(2, 'baz')])
print curs.execute("SELECT * FROM foo").fetchall()

[(1, u'bar'), (2, u'baz')]

Если ваша версия не поддерживает это, но поддерживает .next(), можете ли вы просто обернуть курсор в список (перебирая курсор) Это работает для меня:

curs.execute("SELECT * FROM foo")
print list(curs)

[(1, u'bar'), (2, u'baz')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...