繁体   English   中英

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

[英]sql output in treeview columns using tkinter module in python

我正在尝试使用python 3.4中的tkinter模块将sql查询的2个不同的返回值输出到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循环? 您知道如何评估嵌套循环吗?

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子句。 永远不要那样进行参数替换。 这是很大的安全隐患

看到这里如何正确做

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM