开发者

sqlite returning nothing after 2nd cursor.fetchall()

开发者 https://www.devze.com 2023-01-24 06:14 出处:网络
Why do I get nothing when I execute cursor.fetchall() twice after a cursor.开发者_如何学Cexecute()? Is there anyway of preventing this from happening? Do I need to store the information on a variable?

Why do I get nothing when I execute cursor.fetchall() twice after a cursor.开发者_如何学Cexecute()? Is there anyway of preventing this from happening? Do I need to store the information on a variable? Is it suppose to work this way?


fetchall does what it says--it fetches all. There's nothing left after that. To get more results, you'd need to run another query (or the same query again).

From the python db-api 2.0 specification:

cursor.fetchall() 

        Fetch all (remaining) rows of a query result, returning
        them as a sequence of sequences (e.g. a list of tuples).
        Note that the cursor's arraysize attribute can affect the
        performance of this operation.

cursor.fetchone() 

        Fetch the next row of a query result set, returning a
        single sequence, or None when no more data is
        available. [6]
0

精彩评论

暂无评论...
验证码 换一张
取 消