qt静态编译QSqlDatabase: QODBC driver not loaded

发布于 2022-10-15 06:56:31 字数 3039 浏览 83 评论 0

本帖最后由 shenhuaxue 于 2011-05-16 10:54 编辑

小弟的运行环境,windows xp+qt-sdk-win-opensource-2010.05

   QString mdbname;
    mdbname=QString("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=%1".arg(pathname);   //pathname指向mdb文件
     QSqlDatabase db = QSqlDatabase(QSqlDatabase::addDatabase("QODBC");
    db.setDatabaseName(mdbname);
    QSqlQuery mquery=QSqlQuery:SqlQuery(db);
    bool ok = db.open();
    if(ok)
    {
             bool isok=mquery.exec("select * from feedata;";
            if (!isok)
            {
                db.close();

            }
            while(mquery.next())
            {
              ··········
            }

                   mquery.clear();     

            db.close();

    }
    if(!ok)
    {
        QMessageBox::information(this, tr("information",tr("cant not open !");
    }
    Button_convert->setDisabled(true);
}

使用静态编译,运行报错
QSqlDatabase: QODBC driver not loaded
QSqlDatabase: available drivers: QSQLITE
换成QSQLITE还是无法打开mdb文件

之前采用动态编译时可以运行的,发布程序时drivers又找不到了,顺便问下动态编译下发布程序要包含哪个dll?
希望有大侠能解决小弟的问题,感激不尽

补充,发布程序时拷了QtCore4.dll,QtGui4.dll,QtSql4.dll,libgcc_s_dw2-1.dll,msvcrt.dll,kernel32.dll,mingwm10.dll,qsqlmysql4.dll,qsqlmysqld4.dll

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

愿与i 2022-10-22 06:56:31

自己顶一下

时光与爱终年不遇 2022-10-22 06:56:31

回复 3# c/unix

qt下面没有sqlite3.dll啊,从网上下一个下来也不顶用····,跟放置的位置有关吗?

萌能量女王 2022-10-22 06:56:31

回复 5# c/unix

    还是一样啊{:3_201:}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文