Выход входа Tkinter - PullRequest
0 голосов
/ 07 мая 2020

Я создаю средство поиска данных, используя файл db, и я использую запись tkinter. однако в консоли он возвращает результат [], а код - это

import sqlite3
import tkinter

db = sqlite3.connect ('covidjakartadb.db')

window = tkinter.Tk()
window.geometry("500x300")

label = tkinter.Label(window, text="Please enter a area")
label.pack()

entry = tkinter.Entry(window)
entry.pack()

select_all = "SELECT * FROM locations WHERE '%{0}%'".format(entry)

cursor = sqlite3.Cursor(db)

cursor.execute(select_all)

def Search_Completed():
    label = tkinter.Label(window,  text="aaaaa")

Button = tkinter.Button(window, text="Search data", command=Search_Completed)
Button.pack()



positive = cursor.fetchall()

print (positive)

window.mainloop()

Этот проект должен быть выполнен сегодня, поэтому ответ сегодня будет отличным

1 Ответ

1 голос
/ 07 мая 2020

Код для выбора из базы данных должен быть в функции search_completed. Как написано, он запускается до того, как GUI даже откроется.

При поиске следует использовать содержимое Entry, entry.get() не entry.

import sqlite3
import tkinter

db = sqlite3.connect ('covidjakartadb.db')

window = tkinter.Tk()
window.geometry("500x300")

label = tkinter.Label(window, text="Please enter a area")
label.pack()

entry = tkinter.Entry(window)
entry.pack()

def Search_Completed():
    # select_all = "SELECT * FROM locations WHERE '%{0}%'".format(entry)
    # select_all = "SELECT * FROM locations WHERE '%{0}%'".format( entry.get() )
    # This will work
    select_all = "SELECT * FROM locations WHERE City LIKE '%{0}%'".format( entry.get() )        
    # Or this.
    # select_all = "SELECT * FROM locations WHERE City == '{0}'".format( entry.get() )
    cursor = sqlite3.Cursor(db)
    cursor.execute(select_all)
    positive = cursor.fetchall()
    print (positive)
    label = tkinter.Label(window,  text="aaaaa")

Button = tkinter.Button(window, text="Search data", command=Search_Completed)
Button.pack()
window.mainloop()

Я невозможно проверить код, так как у меня нет базы данных, поэтому в нем может быть несколько ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...