Возникли проблемы с Tkinter Treeview и SQLite при поиске имени в базе данных

Я успешно смог нажать кнопку поиска в моем графическом интерфейсе tkinter и отобразить результаты в моем древовидном представлении, однако, если я хочу снова выполнить поиск, я получаю сообщение об ошибке, потому что при попытке записи во второй раз он записывает в ту же строку, что и первый поисковый запрос. Как мне очистить древовидное представление или убедиться, что моя программа записывает следующую строку в моем древовидном представлении?

srchEntry = str(searchEntry.get())
conn = sqlite3.connect('test.db')
c = conn.cursor()
c.execute("SELECT memberID, fullName, username FROM Test WHERE fullName ='"+srchEntry+"'")
conn.commit()
data = c.fetchall()
treeview.insert("", 0, 1, values=(str(data[0][0]), str(data[0][1]), str(data[0][2])))

Итак, «данные» вернут («memberID», «полное имя», «имя пользователя»), и я вставляю эти значения в свое древовидное представление.


person Cameron Hamilton    schedule 27.11.2017    source источник


Ответы (1)


Прочтите документ Treeview.insert.

insert() имеет параметр index для выбора строки. Или вы можете использовать слово end, чтобы поставить его после последней строки.


delete() требуется id вставленной строки / элемента (не номер строки)

item_id = treeview.insert(...)

и позже

treeeview.delete(item_id)
person furas    schedule 27.11.2017
comment
когда я пытаюсь назначить item_id для treeview.insert (...), он говорит, что значение 'local variable' item 'не используется. - person Cameron Hamilton; 27.11.2017