QSqlDatabase 简单入门介绍

来源:互联网 发布:北方网络视频 编辑:程序博客网 时间:2024/05/21 19:23
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QtDebug>

#include <QVariant>

这些是包含的头文件.

当然你的 xxx.pro 中要添加 QT += sql .


static QSqlDatabase db;


// 创建一个数据连接.

db = QSqlDatabase::addDatabase("QSQLITE", "program_db");    

// 第一个参数为连接使用的驱动器的类型,类型有以下几种

// 第二个参数为连接名称 ,也可以不写为默认.

Driver Type    Description

QDB2              IBM DB2
QIBASE          Borland InterBase Driver
QMYSQL        MySQL Driver
QOCI              Oracle Call Interface Driver
QODBC         ODBC Driver (includes Microsoft SQL Server)
QPSQL          PostgreSQL Driver
QSQLITE      SQLite version 3 or above
QSQLITE2     SQLite version 2
QTDS            Sybase Adaptive Server


// 设置数据库名字. 注意和连接名称区别开来.

db.setDatabaseName("/conf/program.db");


// 取得数据库连接. 

QSqlDatabase db = QSqlDatabase::database():

// 这是默认不写连接名字的,如果你addDatabase 时候指定了连接名,那么

QSqlDatabase db = QSqlDatabase::database("program_db"):

// 取得之后要打开连接的数据库

 if (!db.open())   // 判断是否成功 这是编程的良好习惯,切记!

{

  // you want to do something.

}

//  关闭数据库.

db.close();


// 操作数据库 首先.

QSqlQuery query(db);


// 增 删 查 除 各举一个例子

// 查找

query.prepare("SELECT count(*) FROM setting");  

if(query.exec())   // 判断是否执行成功.

{

}


// 插入

query.prepare("INSERT INTO setting (key, value) “

   "VALUES(?,?)");

query.addBindValue(key);   // 添加你的 key 值

query.addBindValue(value); // 添加你的 value 值

if(query.exec())   // 判断是否执行成功.

{

}


//  更新

query.prepare("UPDATE dvb_sat SET name=?");

query.addBindValue(name);   // 添加你的name 值

if(query.exec())   // 判断是否执行成功.

{

}

// 删除

query.prepare("DELETE FROM dvb_sat WHERE id=?");
query.addBindValue(id);  // 添加你的id 值

if(query.exec())   // 判断是否执行成功.

{

}

 

// 获取下一个数据 

while(query.next()) {


}

// 取得一个数据中的第几项

query.value( Int  index);


// 再来一个创建表的.

ret = query.exec("CREATE TABLE dvb_sat("
"id INTEGER PRIMARY KEY AUTOINCREMENT,"
"name VARCHAR(16),"
"lnb_type BOOLEAN,"
"lnb INTEGER,"
"lnb_dual INTEGER,"
"skew BOOLEAN,"
"tone INTEGER,"
"diseqc INTEGER,"
"power BOOLEAN"
")");


// 移除数据库

QSqlDatabase::removeDatabase("program_db");  // 这是设置有连接名的


// 当然还有很多,可以参考官方文档,这里就简单的介绍下 入门.      

// ThankYou !










原创粉丝点击