sqlite ничего не возвращает после 2-го курсора .etchall () - PullRequest
0 голосов
/ 11 ноября 2010

Почему я ничего не получаю, когда я выполняю cursor.fetchall () дважды после cursor.execute ()? Есть ли способ предотвратить это? Нужно ли хранить информацию в переменной? Предполагается ли так работать?

1 Ответ

4 голосов
/ 11 ноября 2010

fetchall делает то, что говорит - он выбирает все. После этого ничего не осталось. Чтобы получить больше результатов, вам нужно выполнить другой запрос (или тот же запрос снова).

Из питона Спецификация db-api 2.0 :

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...