我正在使用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,...)。请注意,如果您从正常的函数类中调用游标,则数据库将正常运行。如何避免这种情况发生,并同时处理班级内部的数据库?
您需要在最后关闭光标
db.close()