【问题标题】:QSqlQuery::exec: database not open when I try to create a table in a new databaseQSqlQuery::exec:当我尝试在新数据库中创建表时,数据库未打开
【发布时间】:2021-02-02 09:01:09
【问题描述】:

我正在 PyQt5 中创建一个数据库 GUI,我得到了这个 QSqlQuery::exec: database not open 我已经查看了类似问题的答案,但没有帮助。

self.db.setDatabaseName('demodatabase.db')
    
self.query = QtSql.QSqlQuery(self.db)
self.query.exec_("CREATE TABLE new1 (id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL, name VARCHAR(100))")

【问题讨论】:

    标签: python database pyqt5 qsqlquery


    【解决方案1】:

    错误信息非常丰富:你必须打开连接:

    self.db.setDatabaseName('demodatabase.db')
    if not self.db.open():
        print(self.db.lastError().text()) 
    self.query = QtSql.QSqlQuery(self.db)
    self.query.exec_("CREATE TABLE new1 (id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL, name VARCHAR(100))")
    

    【讨论】:

    • 谢谢 eyllanesc
    • @jamesmorgan 如果回答对您有帮助,请不要忘记标记为正确,如果您不知道该怎么做,请查看stackoverflow.com/tour
    猜你喜欢
    • 2013-05-27
    • 2012-03-21
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    相关资源
    最近更新 更多