【问题标题】:PyQt5 QSqlDatabase doesn't open without any text errorPyQt5 QSqlDatabase 在没有任何文本错误的情况下无法打开
【发布时间】:2014-03-25 12:08:03
【问题描述】:

我写了自己的类扩展了 QSqlDatabase:

class Model(QSqlDatabase):

    def __init__(self):
        QSqlDatabase.__init__(self, 'QSQLITE')
        self.setDatabaseName(QSettings().value('DB_PATH'))
        if not self.open():
            print(self.lastError().text())
            raise DBConnectError()

但是 open() 返回 False,并且 lastError() 不显示任何内容。我的错误是什么?

Python 3.3 PyQt 5

【问题讨论】:

  • 打印出 QSettings().value('DB_PATH') 的值——它可能不是你想的那样。
  • C:\Users\User\YandexDisk\Projects\Strains\db.sqlite - 完整路径
  • 您是否尝试过使用推荐的构造方法? qt-project.org/doc/qt-5.1/qtsql/qsqldatabase.html#addDatabase
  • 我有,没有任何改变。以False打开,路径好,错误为空
  • 你有没有使用sqlite命令行工具打开数据库来证明它是一个有效的数据库?

标签: python database qtsql pyqt5


【解决方案1】:

我发现了问题。我不知道为什么,但是方法 addDatabaseName 不接受完整路径。当我写相对路径(只有'db.sqlite')数据库连接成功。

有人知道为什么吗?

【讨论】:

  • 不得不问一个显而易见的问题:那是正确的完整路径吗? IE。 dir 那条路有效吗?
猜你喜欢
  • 2017-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
相关资源
最近更新 更多