您知道APSW没有任何“ fetchall”方法。我们只能使用.next()方法。那么,如何将带有select查询的execute命令的结果放入列表中?

提前致谢

最佳答案

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

关于python - 在APSW中全部获取,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5911825/

10-10 21:10