0

私は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

4

1 に答える 1

0

問題が見つかりました。理由はわかりませんが、メソッド addDatabaseName はフル パスを受け入れません。相対パス(「db.sqlite」のみ)を書いたところ、データベースは正常に接続されました。

理由を知っている人はいますか?

于 2014-03-26T08:47:25.473 に答える