Как вставить запись в базу данных с помощью флажка - PullRequest
0 голосов
/ 12 февраля 2019

Моя цель - добавить новую запись в базу данных с помощью флажка Tkinter.Например, если вы выберете одно из значений флажка, имя типа элемента и его цену, он будет вставлен в базу данных.

Я построил окно, содержащее несколько значений флажка, и метку ввода для имени.элемента и цены.Кроме того, я попытался написать функцию, которая вставляет данные в мою базу данных, но записи не появляются в базе данных.

edited_equipment = StringVar()
edited_price = IntVar()

def alter_eqiupment():
    master = Tk()
    master.geometry("150x350")

    navigation_var = IntVar()
    Checkbutton(master, text="navigation", 
    variable=navigation_var).grid(row=0, column = 0, sticky=W)
    interior_var = IntVar()

    Checkbutton(master, text="interior", variable=interior_var).grid(row=1, 
    column = 0, sticky=W)
    wheels_var = IntVar()

    Checkbutton(master, text="wheels", variable=wheels_var).grid(row=2, 
    column = 0, sticky=W)
    audio_var = IntVar()

    Checkbutton(master, text="audio", variable=audio_var).grid(row=3, 
    column = 0, sticky=W)
    upholstery_var = IntVar()

    Checkbutton(master, text="upholstery", 
    variable=upholstery_var).grid(row=4, column = 0, sticky=W)
    sensor_var = IntVar()

    Checkbutton(master, text="sensor", variable=sensor_var).grid(row=5, 
    column = 0, sticky=W)

    Label(master, text = "name", font = ('',13),pady=5,padx=5).grid(sticky 
    = W)
    Entry(master, textvariable = edited_equipment, bd = 3,font = 
    ('',10)).grid(row=7,column=0)

    Label(master, text = "price", font = ('',13),pady=5,padx=5).grid(sticky 
    = W)
    Entry(master, textvariable = edited_price, bd = 3,font = 
    ('',10)).grid(row=9,column=0)


    def insert_edited():
            conn = sqlite3.connect('Baza_trzecia.db')
            with conn:
                    cur = conn.cursor()
                    if navigation_var.get() == 1:
                            cur.execute('insert into navigation (name, 
                            price) values (?,?)', ((edited_equipment), 
                            (edited_price))      
                            conn.commit()

                    # the same if statements for other elements


    Button(master, text = ' Save ',bd = 3 ,font = ('',12),padx=10,pady=10, 
    command = insert_edited).grid()


    mainloop()

Вот мой класс для таблицы навигации, написанный на SQLAlchemy:

class Navigations(Base):
    __tablename__ = "navigation"

    id_navigation = Column(Integer, primary_key = True)
    navigation_name = Column(String)
    price = Column(Integer)
    sqlite_autoincrement=True

    def __init__(self, navigation_name, price):
        self.navigation_name = navigation_name
        self.price = price
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...