![](/img/trans.png)
[英]How to select all values in case of default in drop-down menu in sqlite3 query where clause
[英]SQlite Query using WHERE clause is not giving me the right output when I use a Tkinter drop down box
我正在嘗試創建一個按鈕,可以按級別過濾學生。 出於某種原因,SQlite 沒有查詢我想要的數據,而是給了我一個空列表 ([])。 當我不使用下拉框而只使用輸入框時,它工作正常。
#dropdown
levels = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]
drop = StringVar()
drop.set(levels[0])
def levelsfunc(event):
levelsinfo = clickedsub2.get()
dropdownbox = OptionMenu(root, drop, *levels, command=levelsfunc)
#search function
def filterstudents():
query = "SELECT studentname, level FROM studenttable WHERE level = '%"+dropdown.get()+"%'"
c.execute(query)
filtered = c.fetchall()
print(filtered)
%
字符是通配符,當您還使用運算符LIKE
時使用它們:
query = "SELECT studentname, level FROM studenttable WHERE level LIKE '%" + dropdown.get() + "%'"
此查詢將返回列level
中包含字符串dropdown.get()
值的所有行。
或者更好地使用?
占位符:
query = "SELECT studentname, level FROM studenttable WHERE level LIKE '%' || ? || '%'"
c.execute(query, (dropdown.get(),))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.