Qt5.12实战之访问Access数据库

本文介绍了如何下载安装Access数据库引擎64位版本,并通过Qt5.12的QSqlDatabase模块,使用QODBC驱动连接和访问Access数据库,包括配置名称访问和直接使用连接字符串的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.下载并安装Access数据库引擎64位:

Download Microsoft Access 2016 数据库引擎可再发行程序包 from Official Microsoft Download Center

 

 下载好后安装在开发机上:

Access引擎安装成功. 

 

 配置Access数据库

这样就可直接通过配置名来访问数据库了:

  

 sql.setDatabaseName("carddb");

成功访问效果:

如果没有配置用户DSN ,也可直接用连接字符串来访问,效果一样:

    sql.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=C:\\Users\\dev\\Desktop\\carddb.accdb");
    

 

实现代码:

#include <QCoreApplication>
#include <QDebug>
//数据库相当头文件
#include <QtSql/QSqlDatabase>
#include <QSqlDriver>
#include <QSqlError>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    //"Qt 5.12所支持的数据库:"
    //"驱动名:QSQLITE"
    //"驱动名:QODBC"
    //"驱动名:QODBC3"
    //"驱动名:QPSQL"
    //"驱动名:QPSQL7"
    qDebug()<<QStringLiteral("Qt 5.12所支持的数据库:");
    for(QString drv:QSqlDatabase::drivers()){
        qDebug()<<QStringLiteral("驱动名:%1").arg(drv);
    }
    //先安装ms-office,然后用access创建数据库与表
    //声明数据库对象
    QSqlDatabase sql;
    //指定要访问的数据库类型,使用ODBC驱动
    sql = QSqlDatabase::addDatabase("QODBC");

    if(!sql.isValid()){
        qDebug()<<QStringLiteral("读取数据库出错");
    }
    //sql.setDatabaseName("carddb");
    sql.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=C:\\Users\\dev\\Desktop\\carddb.accdb");
    //打开数据库
    if(sql.open()){
        qDebug()<<QStringLiteral("打开Access数据库成功");
    }else{
        QSqlError err = sql.lastError();
        qDebug()<<QStringLiteral("打开Access数据库失败:%1").arg(err.driverText());
    }
    return a.exec();
}

数据库设计:

 

数据库访问

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

自由软件开发者

有你的鼓励,我会更加努力。

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

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

打赏作者

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

抵扣说明:

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

余额充值