PyQt5 sqlite3数据库打开成功建表失败
记录下自己傻叉的经历:
问题代码:
class Sql():
def __init__(self):
self.con = None
self.query = None
def openDb(self):
if(self.con is None):
self.con = QtSql.QSqlDatabase.addDatabase('QSQLITE')
self.con.setDatabaseName('sellsystem.db')
if self.con:
self.con.open()
else:
print("创建数据库失败")
如上代码,如果 self.con is None 则创建数据库。创建成功则打开,创建失败则打印错误信息。
给你两分钟,看出代码中的问题。
我发现,无论我接下来怎么写建表语句,都会建表失败,即使是在 CMD 上验证过的建表语句。
我就不明白了,明明数据库都建出来了,同一个建表语句,怎么就失败呢?
花了几个小时,没明白,呵,别笑我效率低,你来你来。
所以,我。。。就去吃饭了。
回来一看,哦豁,这里好像多了一个 Tab
把它往回移一下,诶。
def openDb(self):
if(self.con is None):
self.con = QtSql.QSqlDatabase.addDatabase('QSQLITE')
self.con.setDatabaseName('sellsystem.db')
if self.con: # 我的天,就是这里啊。不空的时候也要 open() 啊,否则建表建到哪里去啊,你个傻叉。
self.con.open()
else:
print("创建数据库失败")