我正在使用sqlite创建并连接到sqlite db foo.db
当我尝试插入数据库时。我得到以下AttributeError
AttributeError: 'sqlite3.Cursor' object attribute 'execute' is read-only
我似乎无法找到有关此错误的任何信息。有没有人知道这个例外意味着什么?
我正在使用带有virtualenv的python 2.7。
以下是我试图执行的代码,假设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()
由于
答案 0 :(得分:4)
您正在尝试修改游标的属性。你想调用光标的方法。
应该是
cur.execute('insert into user_reg (username,pwdhash,email,initial_date)\
values (?,?,?,?)',
[username,
pwdhash,
email,
date])
不
cur.execute = ('insert ...
答案 1 :(得分:1)
似乎是一个简单的语法错误。 您只是要调用它时尝试为命令execute设置一个值: 删除'=',它应该没问题。