У меня есть скрипт (Python GUI), который использует DATEENTRY для отображения календаря с целью выбора даты. Выбранная дата появится в появившемся календаре. Я пытаюсь захватить эту строку даты, чтобы я мог передать ее в оператор SQLite3 SELECT для поиска и отображения в списке всех встреч, соответствующих этой дате.
Если я вставлю date в коде (для целей тестирования), оператор выбора работает, и список заполняется данными, запрошенными на эту дату. Но я до сих пор не нашел способ захвата даты, присутствующей в виджете DateEntry, чтобы использовать для этой же цели. Как мне записать эту дату в строку?
Код выглядит следующим образом:
def find_entries():
# Create or Open Database
con = sqlite3.connect('test.db', detect_types=sqlite3.PARSE_DECLTYPES | sqlite3.PARSE_COLNAMES)
# Create a cursor object
cursorObj = con.cursor()
#cursorObj.execute('SELECT created_at, thehour, lastname, firstname FROM myinfo WHERE created_at = ? AND thehour = ?', ('2020-02-03', '10:00'))
# Use the cursor object to execute a SELECT statement
cursorObj.execute(
'SELECT created_at, thehour, lastname, firstname FROM myinfo WHERE created_at = ?',
('2020-02-03',))
# Dump the result of the execute into a variable using the fetchall command
info = cursorObj.fetchall()
# Read the results of the fump, using a FOR loop, and dump the data into a listbox (list).
for items in info:
list.insert(END, items)
# Print the dump result for test purposes
print(info)
# Commit your changes to the database
con.commit()
# Close the database
con.close()
root = Tk()
# Buttons for first window
button1 = Button(root, text="Appointments", bg='blue', fg='white', font= 'Lato 12 italic', relief = GROOVE, command=open_window)
#button1.grid(row=0, column=30)
button1.place(x=40, y=575)
button2 = Button(root, text="Notification", bg='blue', fg='white', font= 'Lato 12 italic', relief = GROOVE, command=next_window)
#button2.grid(row=40, column=0)
button2.place(x=450, y=575)
button3 = Button(root, text="Quit", bg='blue', fg='white', font= 'Lato 12 italic', relief = GROOVE, command=exit)
#button3.place(x=1.0, y=0)
button3.place(x=940, y=574)
# Label
label5 = Label(root, text= 'Daily Appointments', bg='black', fg='white', font='Lato 12 bold', relief=RIDGE)
label5.place(x=420,y=120)
# Login in variables
var_1 = StringVar()
var_2 = StringVar()
label2 = Label(root, text='Enter User ID: ').place(x=80, y=50)
Label3 = Label(root, text='Enter Pin Code:').place(x=80, y=80)
e1 = Entry(root, textvariable=var_1, show="*").place(x=170, y=50)
e2 = Entry(root, textvariable=var_2, show="*").place(x=170, y=80)
button4 = Button(root, text = 'Login In', bg='blue', fg= 'white', font='Lato 12 italic', relief=GROOVE, command=process_login)
button4.place(x=175, y=120)
# List box containing selected appointment dates
list = Listbox(root, width=40, height=20)
list.place(x=375,y=150)
# Display calendar
label1 = Label(root, text= 'Touch DropDown To Display Calendar', bg='blue', fg='white', font= 'Lato 12 italic', relief = GROOVE)
label1.place(x=685, y=20)
dateentry = DateEntry(locale='en_US', date_pattern='yyyy-mm-dd').place(x=700, y=50)
searchbtn = Button(root, text = 'Show Dates', bg='blue', fg='white', font='Lato 12 italic', relief=GROOVE, command=find_entries)
searchbtn.place(x=780,y=275)
root.geometry("1024x625+20+20")
root.title('Appointment Management System')
root.mainloop()