Qt5读写Access 数据库

首先设定Access数据库的地址:
sDbNm=”D:/Qt/QtServer/QtServer/database/Database.mdb”;
然后
bool MainWindow::ConnectDataBase()
{
db=QSqlDatabase::database(sDbNm);
if(db.isValid())
{
if(db.isOpen())
return true;
}
else db = QSqlDatabase::addDatabase(“QODBC”);//设置数据库驱动
if(db.isOpen())
{
db.close();
}
QString dsn = QString(“DRIVER={Microsoft Access Driver (*.mdb)}; FIL={MS Access};DBQ=%1;”).arg(sDbNm);
db.setDatabaseName(dsn);
// db.setDatabaseName(“DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=”+QString(%1).arg(sDbNm));
db.setUserName(“”);
db.setPassword(“”);
db.setHostName(“”);// DB_HOST is not relevant to DSNs
return db.open();
}
再然后 在所调用处使用
while(!connectOk)connectOk=ConnectDataBase();保证数据库连接成功。

写数据库中表:
query=QSqlQuery(db);
query.prepare(“insert into getData(ID,Tem,wet,ox,sun)”
“VALUES(?,?,?,?,?)”);
query.addBindValue(CurrentRow);
query.addBindValue(QString(“%1”).arg(Tdata[0]));
query.addBindValue(QString(“%2”).arg(Tdata[1]));
query.addBindValue(QString(“%3”).arg(Tdata[2]));
query.addBindValue(QString(“%4”).arg(Tdata[3]));
query.exec();
query.clear();
CurrentRow++;
query.prepare(“UPDATE close_Row SET row=? where ID=?”);//修改数据
query.bindValue(0,CurrentRow);//替换第一个问号内容
query.bindValue(1,1);//替换第二个问号内容
query.exec();
query.clear();
读数据库中表:
QString String=”select * from getData where ID=”;
String +=QString(“%1”).arg(CurrentRow-1);
query=QSqlQuery(db);
query.exec(String);
while(query.next())//遍历查询数据
{
ui->TemlineEdit->setText(query.value(1).toString());
ui->wetlineEdit->setText(query.value(2).toString());
ui->oxlineEdit->setText(query.value(3).toString());
ui->sunlineEdit->setText(query.value(4).toString());
}

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一种跨平台的应用程序开发框架,它提供了丰富的功能和工具来开发图形界面应用程序。Access数据库是微软提供的关系型数据库管理系统。在Qt中,可以使用QtAccess数据库进行连接和操作。 要在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的官方文档和相关教程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值