【发布时间】:2017-10-21 02:47:49
【问题描述】:
我尝试使用参数化查询从表中选择条目。他们不返回任何结果。代码如下:
var = str.capitalize(var)
selected = db.execute('select a, b, c from table1 where a=(?)', [var])
var始终是三个小写字符串(例如'xxx'),'a'列是数据库中的TEXT类型,包含三个大写字符串(例如'XXX')。
我也尝试了可怕的:
selected = db.execute('select a, b, c from table1 where a="%s"' % str.capitalize(var)])
因为我认为execute方法省略引号是一个问题,但它也不起作用。唯一让我得到任何结果的是:
selected = db.execute('select a, b, c from table1 where a="XXX"')
我在 Windows 10 上使用 Python 3.6.0,有人 here 建议这可能是一个问题,但他们的解决方案也对我不起作用。
【问题讨论】:
-
能分享几行表格吗
-
38 英镑 2017-02-24 5.1011 39 英镑 2017-02-27 5.0646 40 英镑 2017-02-28 5.0617
-
a、b、c 是哪一列?
var包含什么? -
列是 (id, a, b, c),var 是通过 POST 请求从表单中获取的,并且总是像 'gbp'、'usd'、'jpy'。
-
我猜你对
capitalize()和upper()感到困惑
标签: python sqlite sql-parametrized-query