簡體   English   中英

無法從sqlite3數據庫填充Tkinter列表框

[英]Can't populate Tkinter listbox from sqlite3 database

我在python 3.6.6中制作了一個簡單的Tkinter GUI,我無法從數據庫中獲取數據來填充列表框。

圖片: https//imgur.com/sMou0MQ

我怎么了 當我想用來自sqlite3數據庫的現有數據填充列表框時,我單擊“刷新數據”按鈕,遇到錯誤。 我的代碼應選擇第一個冒號中的所有行,並將所有內容放入列表框。 重要的代碼行如下所示:

db_conn = sqlite3.connect("dbs/entries.db")
cursor = db_conn.cursor()

def updateListbox(self):
    #Delete items in the list box
    self.listOfEntries.delete(0, "END")

    #Get users from the db
    try:

        result = self.cursor.execute("SELECT Name FROM Entries")

        # Receive a list of lists that hold the result
        for row in result.fetchall():
            name = row[0]


        # Put the student in the list box
        self.listOfEntries.insert(name)

    except sqlite3.OperationalError:
        print("The Table Doesn't Exist")

    except:
        print("1: Couldn't Retrieve Data From Database")

每次我單擊“刷新數據”按鈕時,都會收到“ 1:無法從數據庫檢索數據”錯誤。 我的代碼的結果應該只是填充列表框。

看起來您的“名稱”只是一個變量,並且在每個循環中都在更新他的值...所以我認為您需要在循環內部移動“ self.listOfEntries.insert(name)”。 如您所願,它只會在列表中顯示姓氏。

最好,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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