QT5 Access数据库连接方法

申明:作者本人也是QT新手,大一学生学软件一年,如有错误望包涵

1.首先需要在.pro中加入 QT += sql
2. .cpp中(最好都添加)
#include <QSqlDatabase>
#include <QSqlQueryModel>
#include <QSqlQuery>
3.数据库连接代码(在头文件中申明connectDB())
void Widget::connectDB()
{
QString sDbNm = "C:/Users/jos/Desktop/MdsDB.accdb";//数据库文件
/************* 此处数据库路径得修改成自己的! *********/

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");//设置数据库驱动
QString dsn = QString("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; FIL={MS Access};DBQ=%1;").arg(sDbNm);//连接字符串
db.setDatabaseName(dsn);//设置连接字符串
db.setUserName("");//设置登陆数据库的用户名
db.setPassword("");//设置密码
bool ok = db.open();
if (!ok) {
QMessageBox messageBox;
messageBox.setText("Database error");
messageBox.exec();
db.close();
}
}
4. 可能遇见无法找到sql***一类的报错,我的解决办法就是新建一个工程,重新添加所有文件,然后复制以前的代码粘贴进新的工程。如果是dialog,就新建一个设计师界面,它会自动添加头文件,source文件和ui界面,只需复制原来的.ui文件覆盖到新工程目录下。
5. 连接数据库(就是调用connectDB()函数)
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
connectDB();
}
*注意*connectDB()已经将数据库打开而且没有关闭数据库,所以在其他函数里不要再使用connectDB();正常情况下直接操作数据库就行了。
6. 操作数据库,使用sql语句,提供几种操作方法:
(一)QSqlQuery query;
          query.prepare("SELECT * FROM table");
          query.exec();
(二) QSqlQuery query;
       query.exec("SELECT * FROM table");

(三)注意这种方法可以灵活改变sql语句
QString psd=xxxxx;
QString name=xxxxx;
QSqlQuery query;
query.prepare("UPDATE userinf SET userpsd=? where username=?");//修改数据
query.bindValue(0,psd);//替换第一个问号内容
query.bindValue(1,name);//替换第二个问号内容
query.exec();
(四)相似的方法
QString time=xxxxx;
QString path=xxxxx;
QSqlQuery query;
query.prepare("INSERT INTO table(uploadtime, picture) "
"VALUES (?, ?)");//插入语句
query.addBindValue(time);
query.addBindValue(path);
query.exec();
query.clear();//这个是清除执行得到的内容,如果数据不使用了可以清除掉

 
7. 使用数据(提供一种使用texe edit的)
QSqlQuery query;
query.prepare("select * from talentteammain");
query.exec();
while (query.next())/遍历查询的数据
            {
ui->textEdit_id->setText(query.value(0).toString());
ui->textEdit_open->setText(query.value(1).toString());
             }
query.clear();//Text Edit控件中显示你得到的数据

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Qt是一种跨平台的应用程序开发框架,它提供了丰富的功能和工具来开发图形界面应用程序。Access数据库是微软提供的关系型数据库管理系统。在Qt中,可以使用Qt对Access数据库进行连接和操作。 要在Qt中使用Access数据库,可以使用Qt提供的数据库模块,如QtSql。首先,需要在Qt项目中添加QtSql模块的依赖。然后,可以使用QSqlDatabase类来建立与Access数据库的连接。需要提供Access数据库的文件路径、用户名和密码等信息。例如,可以使用以下代码建立连接: ```cpp QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path/to/your/access/database.accdb"); db.setUserName("username"); db.setPassword("password"); if (db.open()) { // 连接成功,可以执行数据库操作 } else { // 连接失败,处理错误信息 } ``` 连接成功后,可以使用QSqlQuery类执行SQL查询和更新操作。通过执行SQL语句,可以创建表、插入数据、更新数据等。例如,可以使用以下代码执行查询操作并获取结果: ```cpp QSqlQuery query; query.exec("SELECT * FROM your_table"); while (query.next()) { // 处理查询结果 } ``` 此外,还可以使用Qt的其他功能,如Qt的模型视图框架(Model/View Framework)来显示和编辑数据库中的数据。 需要注意的是,连接Access数据库需要正确配置数据库驱动程序,并且需要确保Access数据库文件的路径和访问权限正确。 以上是使用Qt连接和操作Access数据库的简要步骤。更详细的使用方法和示例代码可以参考Qt的官方文档和相关教程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值