簡體   English   中英

如何使用 Python 中的變量搜索 SQLite3 DB

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM