Python 2.7:执行sql查询
我正在尝试执行sql查询以从表中提取一个单元格 下面是我的代码:Python 2.7:执行sql查询,python,sqlite,Python,Sqlite,我正在尝试执行sql查询以从表中提取一个单元格 下面是我的代码: def gPPT(self, rfId): with DBCursor(self.db) as cur: cur.execute("SELECT p_p_t " + "FROM q_r_f_d WHERE r_f_i = ?", (rfId)) pPT = cur.fetchone() ret
def gPPT(self, rfId):
with DBCursor(self.db) as cur:
cur.execute("SELECT p_p_t " +
"FROM q_r_f_d WHERE r_f_i = ?", (rfId))
pPT = cur.fetchone()
return pPT
此查询将始终返回一个字符串。当我运行python代码时,总会收到以下错误消息:
... an exception of type 'ValueError' occurred
Details:
parameters are of unsupported type
有人知道我的代码中的错误在哪里吗?我尝试直接在我的数据库上执行查询,它返回的正是我所期望的结果 指定参数应为序列。注意,paren/括号不构成元组;逗号可以。只需添加逗号
cur.execute("SELECT p_p_t " +
"FROM q_r_f_d WHERE r_f_i = ?", (rfId,))
# ^
嗯,我注意到其他做类似事情的代码都遵循这种格式,但是当我在中添加缺少的逗号时,我得到了错误:“TypeError”发生详细信息:“str”对象不可调用…“来自q_r_f_d,其中r_f_I=?”(rfId,))哦,查询字符串和参数之间缺少一个逗号。它应该是
“来自q_r_f_d,其中r_f_i=?”,(rfId,)
。没什么好尴尬的:你不是你的代码。DB-API一开始可能很棘手。你很快就会掌握的。