使用python中的tkinter模块在treeview列中输出sql

2024-09-27 23:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用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()

Tags: namein名称forexecutegetnamesorder
1条回答
网友
1楼 · 发布于 2024-09-27 23:27:47

为什么要使用两个不同的游标,并因此使用两个嵌套的for循环?你知道嵌套的for循环是如何计算的吗?在

querycursor = conn.cursor()
querycursor.execute(SELECT increment_id, customer_firstname FROM mg_ikantam_buyback_order)

for row in querycursor:
    print(row[0])
    print(row[1])

哦,关于你的where条款。永远不要这样做参数替换。这是很大的安全风险

请参阅here如何正确地执行此操作

相关问题 更多 >

    热门问题