I'm making a GUI with drop-down menus (OptionMenu from tkinter) in python.
I want to insert the data from the drop-down menus into an SQLite database, eg there's a drop-down menu for choosing your car and I want to insert the user's car choice into the database along with the date for the entry.
I've been checking out how to use tkinter with sqlite in python and Use OptionMenu in Python but I can't get my code to work (see error message).
I'm using Python 3.7.4, Windows 10.
Thanks!
from tkinter import *
import sqlite3 as sq
import datetime
# Main window
window = Tk()
# Connection to SQLite
con = sq.connect('Cars.db')
# Car choice variable and placeholder
carV = StringVar(window)
carV.set('Choose your car')
# Car choice dictionary for drop-down menu
carD = {'BMW', 'Volvo', 'Mitsubishi'}
# Car chhoice drop-down menu
carDDM = OptionMenu(window, carV, carD)
carDDM.place(x=150,y=150)
# Function for inserting car choice from drop-down menu into SQLite
def SaveCarChoice():
c.execute('CREATE TABLE IF NOT EXISTS (sql_date TEXT, sql_carV INTEGER)')
date = datetime.date(int(year.get()),int(month.get()), int(day.get()))
c.execute('INSERT INTO (sql_date, sql_carV) VALUES (?, ?)', (date, carDDM.get())
con.commit()
# Button for user to activate the function inserting data into SQLite
carB = Button(window, text="Enter",command=SaveCarChoice())
carB.pack()
window.mainloop()
# ERROR MESSAGE
File "<ipython-input-5-7b7f66e12fbf>", line 42
con.commit()
^
SyntaxError: invalid syntax
)in the line before, which is ` c.execute(.... And thiscarDDM.get()` should readcarV.get()thevariable=from theOptionMenu