此Python类应该查询SQLite数据库:
import sqlite3
class Database:
def __init__(self):
self.connection = sqlite3.connect('devel.db')
self.cursor = self.connection.cursor()
self.connection.commit()
def query(self, query, params=()):
if params == ():
self.cursor.execute(query)
else:
self.cursor.execute(query, params)
self.connection.commit()
return True
def select(self, query, params=()):
if params == ():
self.cursor.execute(query)
else:
self.cursor.execute(query, params)
return self.cursor.fetchall()
id = 1
Database.select("SELECT * FROM users WHERE id = ?", (id,))
它提供了:
AttributeError:“Str”对象没有属性“”Cursor“”
我还尝试了self.connection.cursor()
而不是self.cursor
。
1条答案
按热度按时间pod7payv1#
要调用
query
方法,需要首先创建Database
类的示例。基本上,通过在没有对象的情况下调用
query
方法,您是在将查询字符串作为self
参数传递,因此它尝试访问字符串中的cursor()
方法,而不是类本身。因此,与其执行此代码,不如:
您需要这样做: