Sqlite3通过用户选择的数据库进行搜索

时间:2017-03-26 18:14:58

标签: python sql sqlite

import sqlite3

students = 5
prac = "Food Tests"

db = sqlite3.connect('test.db')
c = db.cursor()
c.execute('''SELECT equipment FROM ... ''')
equipment = c.fetchall()

有没有办法在sqlite3中搜索用户选择的数据库?在这种情况下,数据库将从prac变量中选择,该变量由用户之前在程序中由tkinter OptionMenu选择。因此SQL语句将是SELECT设备FROM [食品测试]。

由于

1 个答案:

答案 0 :(得分:0)

不幸的是,您不能对表名使用参数替换。您必须自己构建查询的这一部分。但是你应该使用参数替换来完成其他任务:

student_id = 5
query = "SELECT equipment FROM {tbl!r} WHERE student = ?".format(tbl=prac)
c.execute(query, student_id)

使用tbl!r代替tbl我们插入引用的表名,以防它包含空格字符。