我试图使用Python3.4中的tkinter模块将sql查询中的两个不同的返回输出到treeview小部件中的相应列,当我运行在第一列下面定义的命令时,第一列将正确打印所有条目,但name列会在所有行中打印第一个结果的名称,而不是每个行的名称。你知道我做错了什么吗?在
def refreshtrade():
for i in treeview.get_children():
treeview.delete(i)
#order number
refreshtradein = conn.cursor()
refreshtradein.execute("SELECT increment_id FROM mg_ikantam_buyback_order")
#first name
names =conn.cursor()
names.execute("SELECT customer_firstname FROM mg_ikantam_buyback_order")# WHERE increment_id = 'buyback-%s'" %(tradeinentryfield.get() ))
for n in names:
for r in refreshtradein:
treeview.insert('',0,r,text = r, values=(n,'Mercedes', 'Purchased', '8-34-15'))
refreshtradein.close()
conn.close()
为什么要使用两个不同的游标,并因此使用两个嵌套的for循环?你知道嵌套的for循环是如何计算的吗?在
哦,关于你的where条款。永远不要这样做参数替换。这是很大的安全风险
请参阅here如何正确地执行此操作
相关问题 更多 >
编程相关推荐