Qt访问Access数据库(.accdb、.mdb文件)

1.Access数据库后缀名说明

.accdb文件:accdb文件格式用于Office Access 2007 文件格式的文件扩展名,用于取代 MDB 文件扩展名。

.mdb文件:mdb文件格式是Office Access97/2000/2003数据库文件后缀名,是早期Access文件格式。

2.代码示例

#include <QSqlDatabase>
#include <QSqlError>
#include <QMessageBox>
#include <QSqlQuery>
#include <QDebug>

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

//连接.mdb
QString dsn = QString("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=%1").arg("E:/work/JLR_OEM_Data/Xml/vinvcc.mdb");
db.setDatabaseName(dsn);
if (!db.open()) { //此处每次都会打开失败
    QMessageBox::critical(0, QObject::tr("Database Error"), db.lastError().text());
    return;
}
else
{
    QMessageBox::information(0, "hello world", "Open Database success!", QMessageBox::Ok);
}

QSqlQuery query("SELECT * FROM T_QualifierConfigModel");
while (query.next())
{
    qDebug() << query.value("Value");
}

修改中。。。

2.代码示例

#include
<QSqlError>

#include <QMessageBox>
#include <QDebug>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
 
     QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
     qDebug() << db.lastError();
 
     //连接.accdb文件,注意空格,数据库用绝对路径
     QString dsn = QString("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=E:/test.accdb");
 
     //连接.mdb    
	// QString dsn = QString("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=E:/test.accdb");
 
     db.setDatabaseName(dsn);
     if(!db.open()) { //此处每次都会打开失败
     QMessageBox::critical(0, QObject::tr("Database Error"),db.lastError().text());
     return false;
     }
     else
     {
     QMessageBox::information(0,"hello world","Open Database success!",QMessageBox::Ok);
     }
    return a.exec();
}
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Allen Roson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值