尝试访问pyQt中的数据库时未加载驱动程序

时间:2018-07-19 16:36:41

标签: sqlite pyqt driver

我正在Ubuntu中使用PyQT进行编码(使用anaconda / spyder环境),并且我正尝试通过QSqlDatabase访问数据库,但是  `

SharedPreferences

`

给我

驱动程序未加载

['QSQLITE']

我在/ usr / include和/ usr / lib中有sqlite文件,并寻找答案,但大多数都来自不可用的驱动程序(我的似乎还可以),mysql驱动程序,在Windows上以及Qt,所以我没能通过看网来解决问题。

感谢您的回答!

编辑:

    db = QSqlDatabase()
    db.addDatabase('QSQLITE',"SQLITE")
    db.setDatabaseName("test.db")
    if(db.open()):
        print("Opened!")
        db.close()
    else:
        print(db.lastError().databaseText())
        print(list(map(str, db.drivers())))

1 个答案:

答案 0 :(得分:0)

所以环境不是问题,但是我的代码是问题。看了很多,我跳过了开始(我太快地传递给QSqlDatabase文档中的驱动程序部分)。

QSqlDatabase :: QSqlDatabase()

创建一个空的无效QSqlDatabase对象。

所以我只需要替换

db = QSqlDatabase()
db.addDatabase('QSQLITE',"SQLITE")

按行:

db = QSqlDatabase.addDatabase('QSLITE') 

我之前的代码给了我

已打开!