【发布时间】:2019-03-19 13:20:48
【问题描述】:
我的数据库有问题。我需要创建一个可以更改数据库并访问另一个的按钮。比如我用的是数据库:data.db。单击“更改”更改目标,并连接到 data2.db。我不知道如何执行更改对另一个数据库的访问的功能。我感谢任何可以帮助我的人。
class griffo:
db_name = 'database.db'
def __init__(self, window):
self.wind = window
self.wind.title('GRIFFO HISTORYPEDIA')
#This is the code to insert a icon on the main WINDOW
icon = PhotoImage(file='griffoicone.png')
self.wind.call('wm', 'iconphoto', self.wind._w, icon)
self.wind.configure(background='gray15')
framename = LabelFrame(self.wind, text = '', foreground="azure")
framename.grid(row = 0, column = 0, columnspan = 3, pady = 5)
framename.configure(background='gray15')
def run_query(self, query, parameters = ()):
with sqlite3.connect(self.db_name) as conn:
cursor = conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS griffo (id INTEGER PRIMARY KEY , name TEXT, geografia TEXT, economico TEXT, social TEXT, tecnologico TEXT, cultural TEXT, colaborador TEXT)")
result = cursor.execute(query, parameters)
conn.commit()
return result
【问题讨论】:
-
您的代码唯一知道数据库名称的地方是这一行:
with sqlite3.connect(self.db_name) as conn:。因此,如果两个数据库具有相同的结构,您需要做的就是让您的按钮更改griffo.db_name的值。 -
是的,我已经想到了。但我是初学者,我不知道哪个函数可以改变值。我该怎么做?