python - sqlite 属性execute是只读的

标签 python exception sqlite

我正在使用 sqlite 创建并连接到 sqlite 数据库 foo.db

当我尝试插入数据库时​​。我收到以下 AttributeError

AttributeError: 'sqlite3.Cursor' object attribute 'execute' is read-only

我似乎找不到有关此错误的任何信息。有谁知道这个异常意味着什么?

我正在使用 python 2.7 和 virtualenv。

以下是我尝试执行的代码,假设日期是一个字符串。

        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()

谢谢

最佳答案

您正在尝试修改光标的属性。您想调用光标的方法。

应该是

    cur.execute('insert into user_reg (username,pwdhash,email,initial_date)\
                    values (?,?,?,?)',
                    [username,
                     pwdhash,
                     email,
                     date])

不是

    cur.execute = ('insert ...

关于python - sqlite 属性execute是只读的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59545183/

相关文章:

python - 根据多个条件过滤列表项

Python 和 .NET 集成

c# - 用户输入的值验证和错误捕获级别

python - 对于 SQL Server 以外的数据库,to_sql() 可替代 fast_executemany

c# - 如何将 SQLite (SQLite.NET) 添加到我的 C# 项目中

sql - Flex/Sqlite 中的异步 DAO?

python - BS4 错误消息 "no attribute ' renderContents'"

Python GraphQL Client - 传递变量时意外的标点符号

java - 将页脚项目添加到 Android ListView 时出现 NullPointerException

java - Gradle依赖问题,java.lang.NoClassDefFoundError,但是编译通过