我在python 3.6.6中制作了一个简单的Tkinter GUI,我无法从数据库获取数据来填充列表框。
我的问题是什么?当我想用来自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:无法从数据库检索数据”错误。 我的代码的结果应该只填充列表框。
答案 0 :(得分:0)
看起来您的“名称”只是一个变量,并且在每个循环中都在更新他的值... 所以我认为您需要在循环内移动“ self.listOfEntries.insert(name)”。 如您所愿,它只会在列表中显示姓氏。
最好