Qt数据库编程_第1页
Qt数据库编程_第2页
Qt数据库编程_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Qt 数据库编程现在我们讲使用数据库来进行变成, 具体的提供了 SELECT INSERT UPDATE DELETE 等数据库的执行语句, 这是在数据库的接口, 当在图形下显示数据时需要使用到 QSqlTableModel . 所以在数据库编程之前需要掌握基础的 SQL 命令语句。数据库驱动成相关联的累包含了 QSqlDriver , QSqlDriverCreatpor, QSqlDriverCreatorBase,QSqlDriverPlugin 与 QSqlResult .数据库的应用程序接口层这些累提供了访问数据库, 提出一个连接请求, 如同文件访问一样, 当连接成功, 讲 通过判断

2、信息返回信息, 只要建立了连接就可以使用 QSqlQuery 类, 来操作数据库, 在 连接数据库之后还提供了几个类, 例如 QSqlError , QSqlField , QSqlIndex , 与 QSqlRecord用户接口层这些累提供了与数据相关的不见, 包含了 QSqlQueryModel, QSqlTableModel, 与QSqlRelationTableModel 。 这些类的定义使用是用来提供数据库的模式与试图来设计的。连接到数据库如果要建立一个数据库的连接, 首先要知道使用的什么数据库, 并为这个数据库的 连接加载驱动, 如果是 mysql 数据库, 都会有用户名与密码,

3、这也是必须设置的, 被 连接的数据库或许在本地或者在远程的某台计算机上, 所以需要设置一个主机的名称来区 别。下面是连接数据库的例子:QSqlDatabase db = QSqlDatabase:addDatabase("QMYSQL");db.setHostName("bigblue");db.setDatabaseName("flightdb");db.setUserName("acarlson");db.setPassword("1uTbSbAs");bool ok = db.open()

4、;我们同时也可以建立两个数据库的连接:QSqlDatabase firstDB = QSqlDatabase:addDatabase("QMYSQL", "first");QSqlDatabase secondDB = QSqlDatabase:addDatabase("QMYSQL","second");在打 开数据库的 时候有可能会发生错 误, 这 里提供了一个 静态的 函数 , QSqlDatabase:lastError() 来返回当前所发生的错误。 与文件相同当打开了一个数据的时 候, 需要在 操作完毕后

5、关闭数据库, 使用 QSqlDatabase:close() , 之后调用 QSqlDatabase:removeDatabase().执行数据库语句QSqlQuery 提供了执行数据库语句的方法, 它可以返回所有的执行结果。 当建立好 数据库连接后可以使用 QSqlQuery:exec() 如同下面的语句:QSqlQuery query;query.exec("SELECT name, salary FROM employee WHERE salary > 50000");当 QSqlQuery 建立了一个构造之后, 将会接受特定的 QSqlDatabase 对象连

6、接来 使用, 正如上面的代码 。浏览查询结果QSqlQuery 当执行 exec() 之后将会把指针放在记录第一个记录之上, 所以需要调用 QSqlQuery:next() 来获取第一个数据下面的代码, 通过一个循环体来便利所有表中的数 据:while (query.next() QString name = query.value(0).toString(); int salary = query.value(1).toInt(); qDebug() << name << salary;QSqlQuery:value() 函数当前记录区域中的数据, 作为默认的 QSqlValue:value() 返回的是一个 QVariant 类型。 提供了几种可选类型的支持, 他们是 C+ 的基本的类型, 比如 int QString 与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论