为什么数据库会不断将自身添加到自身中?

问题描述 投票:0回答:1

我正在使用wxpython和sqlite3。似乎将游标传递给wxpython类会造成很大的问题。以这个脚本为例:

import wx
import sqlite3
class MyFrame(wx.Frame):
    def __init__(self,db):
        wx.Frame.__init__(self,None)

conn = sqlite3.connect('database.db')
db = conn.cursor()
app = wx.App()
frame = MyFrame(db)
db.close()
conn.commit()
conn.close()

如果数据库中的表开头有10行,您将看到,每次运行此脚本时,复制相同的元素时,表的大小将增加10。这也很奇怪,它仍然可以区分原始表的方式(它连续添加10而不是10,20,40,...)。请注意,如果您从正常的函数类中调用游标,则数据库将正常运行。如何避免这种情况发生,并同时处理班级内部的数据库?

python sqlite wxpython wxwidgets
1个回答
0
投票

您需要在最后关闭光标

db.close()
© www.soinside.com 2019 - 2024. All rights reserved.