首页 > 解决方案 > 我的代码中的错误:“AttributeError:‘数据库’对象没有属性‘插入’”

问题描述

这是我的代码,当我尝试将信息添加到数据库时,错误出现在最后几行。

import sqlite3

class Database:
    def __init__(self, db):
        self.conn = sqlite3.connect(db)
        self.cur = self.conn.cursor()
        self.cur.execute('CREATE TABLE IF NOT EXISTS houses (id INTEGER PRIMARY KEY,location text, bedrooms text, price text)')
        self.conn.commit()

def fetch(self):
    self.cur.execute("SELECT * FROM parts")
    rows = self.cur.fetchall()
    return rows

def insert(self, location, bedrooms, price):
    self.cur.execute("INSERT INTO houses VALUES (NULL, ?, ?, ?)", (location, bedrooms, price))
    self.conn.commit()

def remove(self, id):
    self.cur.execute("DELETE FROM houses WHERE id = ?", (id,))
    self.conn.commit()

def __del__(self):
    self.conn.close()

db = Database('houses.db')
db.insert("a","2","750.000€")
db.insert("b","1","300.000€")
db.insert("c","4","650.000€")
db.insert("c","3","500.000€")
db.insert("a","3","825.000€")
db.insert("b","5","1.200.000€")
db.insert("b","3","775.000€")

错误说 db.insert("a","2","750.000€") AttributeError: 'Database' object has no attribute 'insert'

标签: pythonsqlite

解决方案


您的fetch、insert、remove 和del函数没有缩进。缩进它们以匹配init函数,你应该很高兴。


推荐阅读