【发布时间】:2015-06-04 05:42:25
【问题描述】:
我在 PyQT 中打开 QSqlDatabase (QSQLITE) 时遇到问题,而且我似乎没有收到有用的错误来告诉我它失败的原因。我正在使用 Python 3.4.3 和 PyQt 4.11.3。
这是我的代码的 sn-p,我很快将其拼凑在一起,只是为了尝试让事情正常工作:
def __init__(self):
self.__database = QtSql.QSqlDatabase.addDatabase("QSQLITE")
if self.__database.isValid():
print("DB is Valid")
else:
print("DB is Not Valid")
if not self.__database.open():
print("Could not open database.")
print("Text: " + self.__database.lastError().text())
print("Type: " + str(self.__database.lastError().type()))
print("Number: " + str(self.__database.lastError().number()))
query = QtSql.QSqlQuery(self.__database)
query.exec("create table person (id int primary key, firstname varchar(20), lastname varchar(20))");
query.exec("insert into person values(101, 'Danny', 'Young')");
query.exec("insert into person values(102, 'Christine', 'Holand')");
query.exec("insert into person values(103, 'Lars', 'Gordon')");
这是上面运行时的输出:
数据库有效
无法打开数据库。
文字:
类型:0
数字:-1
QSqlQuery::exec: 数据库未打开
QSqlQuery::exec: 数据库未打开
QSqlQuery::exec: 数据库未打开
QSqlQuery::exec: 数据库未打开
任何方向将不胜感激!令人沮丧的是错误消息根本没有用。
【问题讨论】: