如何在Python中使用变量搜索SQLite3 DB
我目前正在用Python编写一个程序,我需要搜索SQLite3数据库,我希望能够使用变量搜索DB,我将从Tkinter组合框选择(GUI)中获取变量的数据 下面是我的表格代码如何在Python中使用变量搜索SQLite3 DB,python,python-3.x,sqlite,Python,Python 3.x,Sqlite,我目前正在用Python编写一个程序,我需要搜索SQLite3数据库,我希望能够使用变量搜索DB,我将从Tkinter组合框选择(GUI)中获取变量的数据 下面是我的表格代码 db = sqlite3.connect('db.sqlite3') cursor = db.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS depot_racks( id INTEGER PRIMARY
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的值
这是正确的方法:
cursor.execute("SELECT * FROM depot_racks WHERE product LIKE '%' || ? || '%'", (selection,))
通过这种方式,通配符%
将与字符串选择值
Mmmmm串连起来。这是stackoverflow语法高亮显示的问题吗?结尾括号似乎也是字符串的一部分。@CoolCloud是的,我也看到了。