[英]how to search SQLite3 DB using a variable in Python
我目前正在用 Python 編寫一個程序,我需要搜索 SQLite3 數據庫,我希望能夠使用變量搜索數據庫,我將從 Tkinter 組合框選擇(GUI)中獲取該變量的數據
下面是我的表代碼...
db = sqlite3.connect('db.sqlite3')
cursor = db.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS depot_racks(
id INTEGER PRIMARY KEY,
rack TEXT,
rackloc TEXT,
floorzone TEXT,
product TEXT,
serial TEXT,
status TEXT,
entdate TEXT,
servdate TEXT,
parts TEXT,
pat TEXT)''')
下面是我嘗試使用獲取用戶選擇的變量搜索數據庫的代碼...
def search_all_racks():
selection = rackTextBox.get()
cursor.execute("SELECT * FROM depot_racks WHERE product LIKE '%selection%'")
for row in cursor.fetchall():
dataArea.insert('end', row)
這不返回任何內容,有沒有辦法在 SQLite 查詢中使用selection
變量?
提前致謝
您正在使用字符串文字'selection'
而不是變量selection
的值。
這是正確的做法:
cursor.execute("SELECT * FROM depot_racks WHERE product LIKE '%' || ? || '%'", (selection,))
這樣通配符%
將與字符串selection
的值連接起來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.