sql 在 python 中使用 tkinter 模块在树视图列中输出

sql output in treeview columns using tkinter module in python

我正在尝试使用 python 3.4 中的 tkinter 模块将来自 sql 查询的 2 个不同的 returns 输出到树视图小部件的相应列中 当我 运行第一列下方定义的命令正确打印所有条目,但名称列打印所有行中第一个结果的名称,而不是每行的名称。关于我做错了什么有什么想法吗?

    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 循环是如何计算的吗?

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如何正确操作