Python 2.7:执行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

我正在尝试执行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() 
    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一开始可能很棘手。你很快就会掌握的。