我试图模仿集体智慧的代码之一,由于一些未知错误而跌跌撞撞。除了用于检索查询的方法之外,所有方法在类中都可以正常工作。
class Connect:
# Create the Database
def __init__(self,dbname):
self.con = sqlite3.connect(dbname)
# Add the row
def create(self,date,name,age):
self.con.execute('create table Profile(date text, name text,age real)')
# Lock the changes
def commit(self):
self.con.commit()
# Retrive the details
def getentry(self,table,field,value):
cursor = self.con.execute(
"select * from %s where %s = '%s'" % (table,field,value))
result_set = cursor.fetchall()
print result_set
工作示例:
C = Connect('test.db')
C.create( '2013年3月6日', '喜悦',34)
C.commit()
C.getentry(配置文件,名称, '喜悦')
错误: NameError:未定义名称“个人资料”
然后制作括号。
C.getentry( '资料', '名称', '乐')
结果= []
答案 0 :(得分:1)
问题出在Connect.create
。它创建表但不填充它,因为其定义上方的注释似乎暗示。您需要将其更新为以下内容:
def create(self,date,name,age):
self.con.execute( 'create table Profile(date text, name text,age real)' )
self.con.execute( "insert into Profile values('{0}','{1}','{2}')"
.format(date,name,age) )
return