繁体   English   中英

how to.get() 将所有输入框插入 sqlite 3 in python tkinter

[英]how to .get() all entry box insert into sqlite 3 in python tkinter

how to.get() 将所有输入框插入 sqlite 3 in python tkinter

我有创建循环输入框

我已经尝试了所有条目 boxes.get() 并插入到 sqlite 3

但只插入最后三个输入框

我已将所有盒子插入 sqlite 3

所有输入框插入 sqlite 单排 3

import sqlite3

#------------------------------------
class sample:
    def __init__(self, root):
        self.root = root


        self.all_entries = []

        showButton = Button(root, text='Show all text', command=self.showEntries)
        showButton.pack()

        addboxButton = Button(root, text='<Add Time Input>', fg="Red", command=self.addBox)
        addboxButton.pack()


        savee = Button(root, text='Save', fg="green", command=self.save)
        savee.pack()

    def save(self):

        print(self.all_entries)
        con = sqlite3.connect(database=r'data.db')
        cur = con.cursor()

        cur.execute("Insert into e_transations (sl,id,datee) values(?,?,?)", (
            self.ent1.get(), self.ent2.get(), self.ent3.get()
        ))
        con.commit()

    def addBox(self):

        frame = Frame(root)
        frame.pack()

        Label(frame, text='From').grid(row=0, column=0)

        self.ent1 = Entry(frame)
        self.ent1.grid(row=1, column=0)

        Label(frame, text='To').grid(row=0, column=1)

        self.ent2 = Entry(frame)
        self.ent2.grid(row=1, column=1)

        self.ent3 = Entry(frame)
        self.ent3.grid(row=1, column=2)

        self.all_entries.append((self.ent1, self.ent2,self.ent3))

    # ------------------------------------

    def showEntries(self):
        for number, (self.ent1,self.ent2,self.ent3) in enumerate(self.all_entries):
            print(number, self.ent1.get(), self.ent2.get(), self.ent3.get())

    # ------------------------------------


root = Tk()
obj = sample(root)
root.mainloop()

save()应该保存self.all_entries中所有条目的值,而不仅仅是最后一个self.ent1self.ent2self.ent3

    def save(self):

        print(self.all_entries)
        con = sqlite3.connect(database=r'data.db')
        cur = con.cursor()

        values = [[entry.get for entry in entry_set] for entry_set in self.all_entries]

        cur.executemany("Insert into e_transations (sl,id,datee) values(?,?,?)", values)
        con.commit()

self.all_entries应该包含来自条目小部件的.get()的值,而不是

暂无
暂无

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

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