QSQLite 数据库
这里我们只是演示了一下使用这个框架完成最简单的程序的过程,只起到抛砖引玉的作用。
这个框架很复杂,但是功能也很强大,Qt Creator 中自带了几个相关的例子(在帮助中查找
Graphics View Examples 即可),你可以参考一下。因为篇幅问题,我们就只讲这么多,如
果以后有机会,我会推出一个相关的专题来讲述这个框架。
分类:Qt系列教程 作者: yafeilinux 日期: 四月 30th, 2010. 3,006 views
Tags: 2D绘图, creator, qt, yafeilinux, 教程
二十一、Qt数据库(一)简介
本文章原创于 转载请注明出处。
从今天开始我们学习 Qt 数据库编程的内容。
先说明:我们以后使用现在最新的基于 Qt 4.6.2 的Qt Creator 1.3.1 Windows 版本,该版本
是 2010 年 2 月 17 日发布的。
数据库几乎是每个较大的软件所必须应用的,而在 Qt 中也使用QtSql 模块实现了对数据库的
完美支持。我们在 Qt Creator 的帮助中查找QtSql Module,其内容如下图:
可以看到这个模块是一组类的集合,使用这个模块我们需要加入头文件#include ,
而在工程文件中需要加入一行代码:QT += sql
这里每个类的作用在后面都有简单的介绍,你也可以进入其中查看其详细内容。下面我们先
简单的说一下 QSqlDatabase 类和 QSqlQuery 类。
QSqlDatabase 类实现了数据库连接的操作,现在 Qt 支持的数据库类型有如下几种:
而现在我们使用的免费的 Qt 只提供了 SQLite 和 ODBC 数据库的驱动 (我们可以在 Qt Creator
安装目录下的 qt\plugins\sqldrivers 文件夹下查看),而其他数据库的驱动需要我们自己添
加。SQLite 是一个小巧的嵌入式数据库,关于它的介绍你可以自己在网上查找。
QSqlQuery 类用来执行 SQL 语句。(关于 SQL 语句:在我的教程中只会出现很简单的 SQL 语句,
你没有相关知识也可以看懂,但是如果想进行深入学习,就需要自己学习相关知识了。)
下面我们就先利用这两个类来实现最简单的数据库程序,其他的类我们会在以后的教程中逐个
学习到。
1.新建 Qt 控制台工程。
2.选择上 QtSql 模块,这样就会自动往工程文件中添加 QT += sql 这行代码了。
3.修改 main.cpp 中的内容如下。
#include
#include
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase(“QSQLITE”); //添加数据库驱动
db.setDatabaseName(“:memory:”); //数据库连接命名
if(!db.open()) //打开数据库
{
return false;
}
QSqlQuery query; //以下执行相关QSL 语句
query.exec(“create table student(id int primary key,name varchar)”);
//新建 student 表,id 设置为主键,还有一个 name 项
query.exec(“insert into student values(1,’xiaogang’)”);
query.exec(“insert into student values(2,’xiaoming’)”);
query.exec(“insert into student values(3,’xiaohong’)”);
//向表中插入3 条记录
query.exec(“select id,name from student where id >= 2″);
//查找表中 id >=2 的记录的 id 项和 name 项的值
while(query.next()) //query.next()指向查找到的第一条记录,然后每次后移一
条记录
{
int ele0 = query.value(0).toInt