当前位置: 首页 > news >正文

上线公司 企业网站百度一下官方网站

上线公司 企业网站,百度一下官方网站,校园社交网站怎么做,展厅设计搭建展位设计目录 一、前言 二、类与接口介绍 1.连接管理类 2.数据操作类 3.数据模型类 4.其它类 三、主要操作流程 1.示例 2.绑定参数 3.事务操作 一、前言 要在Qt中操作数据库,首先要安装对应的数据库,还要确保安装了Qt SQL模块。使用MySQL时&#xff0…

目录

一、前言

二、类与接口介绍

1.连接管理类

2.数据操作类

3.数据模型类

4.其它类

三、主要操作流程

1.示例

2.绑定参数

3.事务操作


  

一、前言

要在Qt中操作数据库,首先要安装对应的数据库,还要确保安装了Qt SQL模块。使用MySQL时,可能还要添加数据库驱动。

可参考下文:

Qt操作数据库详解_qt 数据库-CSDN博客

Qt中编译数据库驱动 | 爱编程的大丙

在使用时要添加模块依赖:QT += sql,以引入Qt SQL模块。


   

二、类与接口介绍

1.连接管理类

QSqlDatabase:用于创建和管理数据库连接。通过调用静态方法addDatabase()创建连接,指定数据库驱动类型和连接名称。

可以使用setHostName()、setUserName()、setPassword()、setDatabaseName()、setPort()来设置连接参数;open()打开连接,close()关闭连接,isOpen()判断连接是否打开,lastError()获取连接错误信息。

   

2.数据操作类

QSqlQuery:用于执行SQL语句并处理结果集。

常用方法包括exec()执行SQL语句,isActive()判断查询是否处于活动状态,isSelect()判断当前查询是否是SELECT查询,next()移动到结果集中的下一条记录,value()获取当前记录中指定列的值,prepare()准备一个SQL查询(可使用占位符),bindValue()绑定参数到查询。

QSqlError:用于表示数据库操作过程中的错误信息。通过QSqlDatabase或QSqlQuery的lastError()方法获取,包含错误代码、错误文本等信息。

   

3.数据模型类

QSqlQueryModel:基于SQL查询的只读模型,用于在视图中显示数据库查询结果。

通过setQuery()设置查询语句,setHeaderData()设置表头数据,可方便地将查询结果显示在QTableView等视图控件中。

QSqlTableModel:提供了一次只能操作一个SQL表的读/写模型,可以浏览和修改独立的SQL表,并且只需编写很少的代码,无需了解SQL语句。

常用方法包括setTable()设置要操作的表,select()执行查询并加载数据,setEditStrategy()设置编辑策略,submitAll()提交所有修改,revertAll()撤销所有修改。

QSqlRelationalTableModel:在QSqlTableModel基础上提供了对外键的支持,可用于处理具有外键关系的数据库表,通过setRelation()设置外键关系。

   

4.其它类

QSqlRecord:用于表示数据库表中的一条记录,包含了记录的字段信息和数据,通过QSqlQuery的record()方法获取。

QSqlField:用于表示数据库表中的一个字段,包含了字段的名称、类型等信息,通过QSqlRecord的field()方法获取。

  


   

三、数据库操作

1.主要流程

  1. 创建数据库连接对象并设置连接参数
  2. 打开数据库连接
  3. 编写并执行SQL语句,对数据库进行一系列增删改查操作
  4. 关闭数据库连接

示例:

//查看支持驱动的数据库
QStringList strList = QSqlDatabase::drivers();
qDebug()<<strList;//设置连接参数
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setUserName("root");
db.setPassword("123456");
db.setDatabaseName("test01");//打开数据库
if(db.isOpen())qDebug()<<"connect.";
elseqDebug()<<"error:"<<db.lastError().text();//执行sql语句
QSqlQuery query;
QString sql = "select * from students";
query.exec(sql);
while(query.next()){qDebug()<<query.value("id").toUInt()<<query.value("name").toString()<<query.value("gender").toString()<<query.value("uid").toUInt();
}//关闭数据库
db.close();

   

2.绑定参数

使用绑定参数的方式,向数据库表中增加数据:

void insertStuInfo(QSqlDatabase db, QString name, QString gender, int uid)
{QSqlQuery insert(db);insert.prepare("INSERT INTO students (name, gender, uid) VALUES(:name, :gender, :uid)");insert.bindValue(":name",name);insert.bindValue(":gender",gender);insert.bindValue(":uid",uid);bool res = insert.exec();if(res)qDebug()<<"successful";elseqDebug()<<"error: "<<insert.lastError().text();
}

   

3.事务操作

①开始事务:

在进行一系列数据库操作之前,可以使用QSqlDatabase的transaction()方法开始一个事务。如果事务开始成功,返回true;否则返回false。

②提交或回滚事务:

如果所有操作都成功完成,可以使用QSqlDatabase的commit()方法提交事务;如果某个操作失败,使用rollback()方法回滚事务,这样可以撤销所有已执行的操作。

    QString deleteSql = "DELETE FROM students WHERE name = 'mike'";db.transaction();bool res = query.exec(deleteSql);if(res)db.commit();elsedb.rollback();

http://www.dt0577.cn/news/35235.html

相关文章:

  • 地方旅游网站建设方案深圳做网站seo
  • 什么是分类信息网站营销seo怎么学
  • 开发一个大型网站多少钱现在有哪些培训学校
  • 天堂tv在线观看免费日照网站优化公司
  • 荆州网站开发排名优化网站建设
  • 网站建设和网络优化请示seo人才网
  • 顺营销官方网站太原seo关键词排名
  • 动漫人物做羞羞事的网站最新黑帽seo培训
  • php网站后台密码破解工具网站后台用户名密码破解关键词排名优化方法
  • 郴州网站建设系统sem和seo是什么职业岗位
  • 网站建设织梦怎么样google seo实战教程
  • 做网站的公司怎样收费公司宣传网站制作
  • 南阳微网站制作百度seo快排软件
  • 做微信广告网站宁波seo自然优化技术
  • 用flash做网站超链接2024年1月新冠高峰期
  • 电大网上作业代做网站小学生收集的新闻10条
  • 大连市网站建设今日发生的重大新闻
  • 国内做免费的视频网站产品质量推广营销语
  • 赤峰做网站的网络公司推广是什么意思
  • wordpress 商城系统长沙网站seo分析
  • zblog搭建网站seo优化公司如何做
  • 有没有专门做包装设计的网站百度广告联盟价格
  • 怎么改一个网站的关键词密度品牌推广策略
  • jsp动态网站开发视频手机端关键词排名免费软件
  • 深圳+服装+网站建设百度竞价排名收费标准
  • 宁波哪里有网站建设广州最新消息今天
  • 如何上传网页到网站网络推广的平台
  • 微网站是用什么开发的夜狼seo
  • 手机网站 底部菜单百度爱采购排名
  • wordpress检查全站链接黄页88网官网