前言
这里写了一些关于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);文章来源:https://www.toymoban.com/news/detail-451484.html
查
QSqlQuery query;
QString sqlstr = “select *from point where x>10”;
query.exec(sqlstr);文章来源地址https://www.toymoban.com/news/detail-451484.html
到了这里,关于QT操作access的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!