Non riesco ha capire come mai questa funzione non funzione se mando nella query i dati inseriti in due Entry, mentre se nel listato della query scrivo direttamente i valori di periodo da ricercare il tutto funziona. L''errore che da è il seguente:
pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='2022-12-27' and data_prot_2_Entry='2023-04-30'' at line 1")
def prot_between():
def da_a():
#query="select * from datix where data_prot between '2022-12-27' and '2023-04-30'"
query="select * from datix where data_prot between data_prot_1_Entry=%s and data_prot_2_Entry=%s"
cursore.execute(query,(data_prot_1_Entry.get(),data_prot_2_Entry.get()))
#cursore.execute(query)
cursore.execute(query)
fetched_dati=cursore.fetchall()
pvcTabella.delete(*pvcTabella.get_children())
for dati in fetched_dati:
pvcTabella.insert('',END,values=dati)
between_window=Toplevel()
between_window.title('Cerca Data Protocollo nel periodo')
between_window.grab_set()
between_window.resizable(False,False)
between_window.geometry('+10+10')
data_prot_1_Label=Label(between_window,text='Data Inizio ',font=('times new roman',20,'bold'))
data_prot_1_Label.grid(row=0, column=0,padx=30,pady=15, sticky=W)
data_prot_1_Entry=Entry(between_window,font=('roman',15,'bold'))
data_prot_1_Entry.grid(row=0, column=1,pady=15,padx=10)
data_prot_2_Label=Label(between_window,text='Data Inizio ',font=('times new roman',20,'bold'))
data_prot_2_Label.grid(row=1, column=0,padx=30,pady=15, sticky=W)
data_prot_2_Entry=Entry(between_window,font=('roman',15,'bold'))
data_prot_2_Entry.grid(row=1, column=1,pady=15,padx=10)
cerca_dataButton=ttk.Button(between_window,text='Cerca data nel periodo',command=da_a)
cerca_dataButton.grid(row=9, columnspan=2,padx=15)