【发布时间】:2014-03-17 03:09:27
【问题描述】:
在我的 sql 应用程序中进行查询时,我遇到了一个奇怪的问题。我正在使用 python3 和 cx_Oracle 5.1.2。我的测试表组织如下:
创建表人( 罪 CHAR(15), 名称 VARCHAR(40), 主键(罪))
插入以下值(罪名、姓名):
('1','a'), ('2','b'), ('3','c')
当我使用不安全的查询进行简单选择时:
curs.execute("select name from people where sin = '1'")
结果是 'a',正如预期的那样,但如果我使用绑定:
curs.execute("select name from people where sin = :v", v='1')
结果为空。我已经尝试将其更改为位置“?”参数,通过 setinputsizes(v=15) 设置 'v' 的大小,但似乎没有任何效果。
我有什么遗漏的吗?
谢谢,
【问题讨论】:
-
不确定 - 你试过
curs.execute("select name from people where sin = :v", {'v':'1'})吗?