2016-12-21 1 views
1

Закрывает курсор, необходимый, когда ярлык conn.execute используется вместо явного указателя курсора в SQLite? Если да, то как это делается? Кроме того, закрытие курсора требуется только для SELECT, когда возвращается набор записей, или он также необходим для UPDATE и т. Д.?Как применяется закрывающий курсор SQLite, когда conn.execute используется вместо имени курсора

+0

Я говорю о Python. – sreastman

ответ

0

Метод close() позволяет закрыть объект курсора до сбора мусора.

Метод соединения execute() в точности совпадает с conn.cursor().execute(...), поэтому возвращаемое значение является единственной ссылкой на объект временного курсора. Когда вы просто проигнорируете его, CPython будет мусорно-собирать объект сразу (другие реализации Python могут работать по-другому).

+0

Звучит неплохо для CPython. Я использую стандартный Python, и сбор мусора не всегда происходит немедленно. Любые идеи о необходимости закрытия курсора, когда набор записей не возвращается, как с UPDATE? Спасибо за вашу помощь. – sreastman

+0

CPython - стандартный Python. –

Смежные вопросы