sqlite 获取APSW中的所有内容

xjreopfe  于 2022-12-27  发布在  SQLite
关注(0)|答案(1)|浏览(116)

你知道APSW没有fetchall方法,我们只能使用.next()方法,那么我如何将执行命令的结果放入一个列表中呢?

bvn4nwqk

bvn4nwqk1#

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')]

相关问题