python 数据库操作 yeild from_Python数据库连接关闭
連接具有PEP-249(Python數據庫API規范v2.0)中指定的csr.close()方法:
import pyodbc
conn = pyodbc.connect('DRIVER=MySQL ODBC 5.1 driver;SERVER=localhost;DATABASE=spt;UID=who;PWD=testest')
csr = conn.cursor()
csr.close()
conn.close() #
由于csr.close()連接和游標都是上下文管理器,因此,如今將其編寫為:
import pyodbc
conn = pyodbc.connect('DRIVER=MySQL ODBC 5.1 driver;SERVER=localhost;DATABASE=spt;UID=who;PWD=testest')
with conn:
crs = conn.cursor()
do_stuff
# conn.commit() will automatically be called when Python leaves the outer `with` statement
# Neither crs.close() nor conn.close() will be called upon leaving the the `with` statement!!
有關為什么不調用conn.close()的說明,請參見[https://github.com/mkleehammer/pyodbc/issues/43]。
請注意,與原始代碼不同,這將導致調用csr.close()。 使用外部with語句控制何時要調用commit。
另請注意,根據文檔,無論您是否使用csr.close()語句,
刪除連接后(通常是超出范圍時),連接會自動關閉,因此通常不需要調用[csr.close()],但可以根據需要顯式關閉連接。
和類似的光標(我的重點):
刪除游標時(通常是超出范圍時),游標會自動關閉,因此通常不需要調用[csr.close()]。
總結
以上是生活随笔為你收集整理的python 数据库操作 yeild from_Python数据库连接关闭的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美国哈弗康健有限公司的能量源在哪能买到?
- 下一篇: 持久层是什么意思_软件项目实训及课程设计