python – 在SQLite中关闭游标或连接之间有什么区别吗?

python – 在SQLite中关闭游标或连接之间有什么区别吗?,第1张

概述一旦我完成数据库,我一直在使用命令cur.close(): import sqlite3conn = sqlite3.connect('mydb')cur = conn.cursor()# whatever actions in the databasecur.close() 但是,我在某些情况下只看到了以下方法: import sqlite3conn = sqlite3.conne @H_502_0@ @H_502_0@ 一旦我完成数据库,我一直在使用命令cur.close():

import sqlite3conn = sqlite3.connect('mydb')cur = conn.cursor()# whatever actions in the databasecur.close()

但是,我在某些情况下只看到了以下方法:

import sqlite3conn = sqlite3.connect('mydb')cur = conn.cursor()# whatever actions in the databasecur.close()conn.close()

并且在官方documentation中,有时光标是关闭的,有时是连接,有时两者兼而有之.

我的问题是:

> cur.close()和conn.close()之间有什么区别吗?
>一旦我完成(或者我必须关闭两者),关闭一个是否足够?如果是这样,哪一个更好?

解决方法 [关闭游标]

如果你关闭光标,你只是将它标记为无效以处理进一步的请求(“我完成了这个”).

因此,在函数/事务的最后,您应该继续关闭游标,向数据库提供该事务已完成的提示.

一个好的模式是使游标是短暂的:你从连接对象中获取一个,做你需要的,然后丢弃它.因此,关闭是有道理的,你应该继续在代码部分的末尾使用cursor.close()来使用它.

我相信(找不到任何引用)如果你只是让光标超出范围(函数结束,或者只是del游标),你应该得到相同的行为.但是为了良好的编码实践,你应该明确地关闭它.

[连接对象]

实际完成数据库后,应关闭与它的连接.这意味着connection.close()

@H_502_0@ 总结

以上是内存溢出为你收集整理的python – 在SQLite中关闭游标或连接之间有什么区别吗?全部内容,希望文章能够帮你解决python – 在SQLite中关闭游标或连接之间有什么区别吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1197717.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存