因此,我已经环顾了几天,并尝试了各种其他方法来解决其他人的问题,这些问题似乎与我自己的问题相同,但是不幸的是我没有取得任何进展。我对python,tkinter和mysqli数据库还是很陌生。我想做的就是有一个库存计划,就是这么简单。您可以登录并添加,删除或仅查看数据库中的内容。我可以添加和删除项目,但在将数据提取到正确的列中时遇到问题。
到目前为止,我已经尝试将每个变量作为一个变量并进行相应的分配,尝试一次仅抽取一行,甚至切换到新数据库,但都没有正确的结果。如果我使用sqlite 3,它可以正常工作,是因为mysql在服务器上而不是在本地吗?无论如何,我想要一些指导以正确的方向指导我,因此我们将不胜感激。 编辑:
tree.insert("", 1, "dirIso", text="ProductID")
for n, dirIso in enumerate(results,1):
list_of_column_values = [list(_dict.values())[0] for _dict in dirIso]
tree.insert('dirIso', n, text=list_of_column_values[0],
values=list_of_column_values[1:])
cursor.close()
conn.close()
这就是我所做的,我现在得到一个没有属性“值”的“ str”对象。我需要更改n吗?还是在数据库中查找名称作为值而不是列?
我要获取的结果是表格显示每个项目各自的数据。
答案 0 :(得分:0)
问题:Treeview正在将mysql数据放入一列
编辑您的问题,如果您的results
与以下内容不同,则会显示三行results
数据。
假设以下
results
中的list
==dict
!results = [{'produkt_id': '1234', 'Name': 'John', 'Address': 'NewYork'}, {'produkt_id': '5678', 'Name': 'Peter', 'Address': 'Boston'} ]
您不需要树头,因为您需要 Tabelview
# Dict's are unordered,
# therfore you need a list of fieldnames in your desired order
fieldnames = ['produkt_id', 'Name', 'Address']
# Loop results
for n, _dict in enumerate(results,1):
# Create a list of values from this _dict
_list = []
for key in fieldnames:
_list.append(_dict[key])
# The first value goes to 'text'
# All others goes to 'values'
tree.insert('', 'end', n, text=_list[0], values=_list[1:])
输出:
1234 John NewYork 5678 Peter Boston