[英]In python, can we set table name as a variable using Sqlite3?
[英]How to give Sqlite3 table name from a variable in Python
對於如何根據我的 Combobox 選擇來命名我的表名,我處於兩難境地。 我正在使用 PyQt5。 我嘗試過這種方式,但沒有得到正確的結果。
b = self.combo.currentText()
sql = '''CREATE TABLE IF NOT EXISTS d (id int, grade text)''')
這將創建一個名稱為 b 的數據庫,而不是 combobox 中的選項。
您必須使用 application_cb.bind("<>", createTable) 根據 combobox 選擇綁定事件,您必須傳遞 function 名稱
application_label = Label(cbFrameRow1Col2, text='Application', bg='gray46', fg='white', font=("calibri", 10))
application_label.grid(row=0, column=0, sticky='w', padx=10, pady=5)
application_cb = ttk.Combobox(cbFrameRow1Col2, values=application_list, width=15)
application_cb.grid(row=0, column=1, sticky='w', padx=10, pady=5)
application_cb.bind("<<ComboboxSelected>>", createdb)
現在您必須在觸發此事件時調用 create table function
def createTable(event):
tablename = application_cb.get()
conn = sqlite3.connect('temp.db')
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS %s (id INTEGER PRIMARY KEY, Name TEXT)" % (tablename))
conn.commit()
conn.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.