Захват строки даты в DateEntry для использования в операторе SQLite3 SELECT - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть скрипт (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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...