QT操作access
前言
这里写了一些关于QT和access数据库之间的操作,功能不多,暂时够用
提示:以下是本篇文章正文内容,下面案例可供参考
一、QT连接access数据库
首先得在.pro文件中加入QT+=sql
头文件中也得加上这些
QSqlDatabase
QSqlQuery
QSqlError
QSqlDatabase acDb = QSqlDatabase::addDatabase("QODBC", "accessDB");const QString dsn(QString("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=%1;Uid=%2;Pwd=%3").arg(newreportpath).arg("admin").arg("aaaa1111")); //newreportpath是数据库的路径,admin是用户名,aaaa1111是密码acDb.setDatabaseName(dsn);if(acDb.open()){qDebug()<<"连接AccessDB成功";}else {qDebug()<<"连接AccessDB失败"<<acDb.lastError().text();}
这里就将QT与access数据库连接起来了,也可以进行某些操作来操作数据库了,如果没有连接成功,检查路径、用户名、密码等是否正确。
二、QT在access数据库中创建表格
代码如下(示例):
QSqlQuery query = QSqlQuery(acDb);query.clear();query.prepare("Create TABLE[IRI](id Counter(1,1) primary key,区间起点 varchar(50),区间终点 varchar(50),速度 varchar(50))");query.exec();
中括号里的IRI是表名,这里的primary key是为你选定的字段上锁,aceess的表一定有一列字段是上锁的,上锁的字段不会出现重复的数或者字,这样是为了方便之后的增删改查操作,这里是以id为上锁字段,手动在access中创建表格的时候也是默认id字段为上锁字段。后面的varchar(50)指的是创建短文本字段,创建后效果如下:

三、QT往表格里添加字段数据
代码如下(示例):
query.prepare("insert into IRI (区间起点,区间终点,速度) values (:a,:b,:c)");
query.bindValue(0,"太平路东");
query.bindValue(1,"太平路南");
query.bindValue(2,"40");
query.exec();
效果图如下所示:

四、增删改查
最后再写点最基本的操作增删改查吧。
增
QSqlQuery query;
QString sqlstr = “insert into point values(?,?,?)”;
query bindValue(0,x);
query bindValue(0,y);
query.exec();
或者
QSqlQuery query;
QString sqlstr = “insert into point values(1,2,3)”;
query.exec(sqlstr);
删
QSqlQuery query;
QString sqlstr = “delete from point where x=1”;
query.exec(sqlstr);
改
QSqlQuery query;
QString sqlstr = “update point set z=2,y=2 where x=1”;
query.exec(sqlstr);
查
QSqlQuery query;
QString sqlstr = “select *from point where x>10”;
query.exec(sqlstr);
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
