python - 如何让 Python 访问另一个数据库
问题描述
我的数据库有问题。我需要创建一个可以更改数据库并访问另一个的按钮。比如我用的是数据库: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
解决方案
这说明了所需的简单代码:
>>> griffo.db_name
'database.db'
>>> griffo.db_name = 'database2.db'
>>> griffo.db_name
'database2.db'
因此,附加griffo.db_name = 'database2.db'
到您的按钮。
如果你的按钮是change
那么
change = tk.Button(frame,
text="Change",
command=on_change)
def on_change():
griffo.db_name = 'database2.db'
推荐阅读
- swift - CLLocation 和时间戳
- docker - Docker Tomcat 记录到 catalina.out 和控制台
- typescript - 你如何在同一个事件发射器中处理多种类型-Typescript
- vba - VBA - 根据标题复制粘贴值
- android - google_play_services_version 没有正确的值
- stripe-payments - Stripe Connect API - 如何检索已连接帐户的状态?
- javascript - 将带有双引号的字符串字段从烧瓶传递到javascript
- portaudio - sounddevice.PortAudioError:打开 OutputStream 时出错:内部 PortAudio 错误 [PaErrorCode -9986]
- python - fastapi - 可选的 OAuth2 身份验证
- vue.js - v-on 处理程序中的错误(Promise/async):“TypeError:无法读取未定义的属性‘个人’”