簡體   English   中英

如何從 Python 中的變量中給出 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM