Sep-19-2020, 02:56 AM
i need help, I want to create a python search engine that will search for clients' names (from a sqlite3 database and display them on the Treeview object),search automatically without clicking on search Button (i.e. in real time). The code below allows a good search but the problem is that it doesn't take into account the last letter typed. example if I write in the search field 'Nam' it executes the search for 'Na' just if I write in the search field 'Name' it performs the search for 'Nam' just (i.e. either press enter or a key so that it performs the search)
def SearchByName(event):
for x in Tree.get_children():
Tree.delete(x)
Name = entrySearchByName.get()
conn = sqlite3.connect('database.db')
cur = conn.cursor()
SQL = "SELECT*FROM customers where Name LIKE ?"
Wc_Name = "%{}%".format(Name)
select = cur.execute(SQL, (Wc_Name,))
select =list(select)
conn.commit()
for row in select:
Tree.insert('', END, values = row)
conn.close()
lbSearchByName = Label(root, text="Search By Name :", font=("Times New Roman",18))
lbSearchByName.place(x=540, y=2)
entrySearchByName = Entry(root)
entrySearchByName.place(x=730, y=7, width=250, height=25)
entrySearchByName.bind("<Key>", SearchByName)
