写了一个类,将sqlite查询语句封装在里面...放在另外一个文件里
在单文件测试创建文件的时候没有问题.
但是从主程序里就出现问题了..
报 sqlite3.OperationalError: no such table: image 错误
数据库是已经创建了..但是表没创建..
代码如下..
class DBmall(object):
'''封装一个查询..避免老是少写cursor .. commit'''
def __init__(self):
self.conn = sqlite3.connect('./static/imagedata1')
# 有数据库文件 跳过 createDB()
if not os.path.exists('./static/imagedata1'):
self.createDB()
# 创建表
def createDB(self):
cursor = self.conn.cursor()
try:
CREATE_image = '''CREATE TABLE image(imageMD5 TEXT............, );'''
cursor.execute(CREATE_image)
self.conn.commit()
# 关闭 游标
cursor.close()
except Exception as e:
print('数据库错误', e)
# 查第一条
def findone(self, sql, values=None):
cursor = self.conn.cursor()
# 执行 查询语句
if values:
cursor.execute(sql, values)
else:
cursor.execute(sql)
# 获取数据,数据格式为元组(tuple)
results = cursor.fetchone()
# 提交事务: 只是查询select 不用也行
self.conn.commit()
# 关闭 游标
cursor.close()
return results
主文件, 使用的代码
DB = DBmall()
frist=DB.findone('select * from image') #这行报错..
后来分析下..感觉应该是 数据表还没创建完成..就开始执行查询语句了..
请问是什么问题呢?
谢谢 大神!!!