执行sqlite查询为什么我得到TypeError?

2024-04-27 13:01:03 发布

您现在位置:Python中文网/ 问答频道 /正文

代码是:

with sqlite3.connect('example.db', detect_types=sqlite3.PARSE_DECLTYPES) as conn:
    curr = conn.cursor()
    vals = ( surveyname , surveydesc , dictObj ,)
    curr.execute("INSERT INTO Surveys(Name, Desc, DictObject) VALUES (?, ?, ?)", vals)

我得到的错误是:

^{pr2}$

函数最多接受2个参数意味着什么?我在这里叫什么功能?curr.execute有两个参数:实际查询和参数。为什么103号线被突出显示?这是一个元组的简单赋值。在

surveyname和surveyname是简单的字符串。dictObj是一个经过pickle处理并压缩成字符串的字典。因此,将三个字符串插入到具有text/text/blob列的行中。我找不到这里出了什么问题。。在


Tags: 字符串代码textexecutedb参数exampleconnect
1条回答
网友
1楼 · 发布于 2024-04-27 13:01:03

Python并没有运行这些代码;它运行的是Python文件的一个以前的版本,其中有一行不同;猜测是:

curr.execute("INSERT INTO Surveys(Name, Desc, DictObject) VALUES (?, ?, ?)", surveyname , surveydesc , dictObj)

python回溯必须再次读取源代码以显示导致错误的行,但是如果同时更改了源代码,则它将与导致错误的实际字节码不匹配。在

重新启动python脚本(或任何运行脚本的工具,如HTTP服务器中的WSGI模块);如果问题仍然存在,请删除所有*.pyc文件,并确保在保存对脚本的更改时,其修改日期已更新。在

相关问题 更多 >