如何在Qt中使用ms访问

How to use M.S access in Qt?

本文关键字:ms 访问 Qt      更新时间:2023-10-16

我想在我的项目中使用access数据库,这是我的代码:

#include <QCoreApplication>
#include <QtSql/QSqlDatabase>
#include <QDebug>
#include <QStringList>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QSqlDatabase m_db = QSqlDatabase::addDatabase("QODBC");
    m_db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=c:\db.mdb;");
     bool  ok = m_db.open();
    if(ok)
        qDebug()<<"ok";
    else
        qDebug()<<"not ok";
    return a.exec();
}

当我运行它时,它显示mt '不ok ',我认为我使用错误的连接,因为QODBC驱动程序可用,另一个问题是db在哪里。Mdb的文件必须被定位?在调试文件夹或它必须附加到项目和连接字符串应该如何更改?

通常你不需要安装任何驱动程序,如果你需要用Qt连接到MS Access数据库,但如果你没有必要的驱动程序,你应该自己构建它。

你可以像这样连接MS Access数据库:

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DSN='';DBQ=C:\path\to\myDB.mdb");
if(db.open())
  qDebug() << "oK";
else
  qDebug() << db.lastError().text();