luowen228371 2023-10-31 11:29 采纳率: 0%
浏览 53

"Driver not loaded", sqlite3

qt 5.12使用sqlite3,open()之后报错QSqlError("", "Driver not loaded", "Driver not loaded")

可用驱动:("QSQLITE", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
data->addDatabase("QSQLITE");
QSqlError("", "Driver not loaded", "Driver not loaded")

尝试过复制D:\Qt\Qt5.12.12\5.12.12\mingw73_32\plugins\sqldrivers中的dll文件到工程根目录,无效

win10,qt creator 5.12 mingw73-32

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-31 14:03
    关注

    【以下回答由 GPT 生成】


    答案:

    问题1: 请问有哪些可用的数据库驱动可供选择?

    Qt框架中有多个数据库驱动可供选择,具体取决于编译时的配置和可用插件。常见的可用数据库驱动包括:

    • QSQLITE: 用于访问 SQLite 数据库
    • QMYSQL: 用于访问 MySQL 数据库
    • QODBC: 用于访问 ODBC 数据源
    • QPSQL: 用于访问 PostgreSQL 数据库

    可以通过以下代码查询当前可用的数据库驱动:

    qDebug() << QSqlDatabase::drivers();     // 输出当前可用的数据库驱动列表
    

    问题2: 您能提供一些关于如何正确加载数据库驱动的指导吗?

    在使用 Qt 访问数据库前,需要先加载相应的数据库驱动。以下是加载数据库驱动的一般步骤:

    Step 1: 在 pro 文件中添加对应的数据库驱动

    打开项目的 .pro 文件,并根据需要的数据库驱动添加对应的驱动库。例如,如果要使用 SQLite 驱动,则需要添加以下一行到 .pro 文件中:

    QT += sql
    

    Step 2: 确保数据库驱动 DLL 可用

    确保相应的数据库驱动 DLL 文件可在运行时被找到。在 Windows 上,默认情况下 Qt 应该能够自动找到安装目录下的数据库驱动 DLL。确保路径没有错误并且 DLL 文件存在。

    Step 3: 加载数据库驱动

    在代码中加载所需的数据库驱动。例如,要加载 SQLite 驱动,可以在应用程序启动时添加以下代码:

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    

    Step 4: 连接到数据库

    根据需要的数据库类型以及连接参数,使用上一步创建的数据库对象连接到数据库服务器。例如,要连接到一个名为 "mydatabase.db" 的 SQLite 数据库,可以添加以下代码:

    db.setDatabaseName("mydatabase.db");
    if (!db.open()) {
        qDebug() << db.lastError().text();
    }
    

    请确保在连接数据库之前加载了正确的数据库驱动。

    可以尝试使用以上步骤加载 SQLite 驱动并连接到数据库,然后可以进一步处理其他数据库操作。



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 10月31日