在APSW中获取所有内容

时间:2011-05-06 13:00:40

标签: python database sqlite

你知道 APSW 没有任何“fetchall”方法。我们只能使用 .next()方法。那么如何将带有选择查询的执行命令的结果带入列表?

提前致谢

1 个答案:

答案 0 :(得分:1)

apsw版本3.6.22让我使用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')]