sqlite 属性 execute 只是只读
我正在使用sqlite来创建并连接一个名为foo.db的数据库。
当我尝试往数据库里插入数据时,出现了一个AttributeError错误。
AttributeError: 'sqlite3.Cursor' object attribute 'execute' is read-only
我找不到关于这个错误的任何信息。有没有人知道这个异常是什么意思?
我使用的是python 2.7,并且在virtualenv环境中。
以下是我尝试执行的代码,假设date是一个字符串。
username = 'user'
pwdhash = some_hash_function()
email = 'user@foo.com'
date = '11/07/2011'
g.db = sqlite3.connect('foo.db')
cur = g.db.cursor()
cur.execute = ('insert into user_reg (username,pwdhash,email,initial_date)\
values (?,?,?,?)',
[username,
pwdhash,
email,
date])
g.db.commit()
g.db.close()
谢谢!
2 个回答
1
看起来这是一个简单的语法错误。你正在尝试给命令执行设置一个值,其实你只需要调用这个命令就可以了:把'='去掉就没问题了。
5
你想要修改光标的一些属性。也就是说,你想调用光标的一个方法。
正确的写法应该是
cur.execute('insert into user_reg (username,pwdhash,email,initial_date)\
values (?,?,?,?)',
[username,
pwdhash,
email,
date])
而不是
cur.execute = ('insert ...