您的位置:首页 > 编程语言 > Qt开发

qt 链接sqlite数据库

2016-04-30 10:56 656 查看
在qt中常用的数据库有mysql和sqlite,它们都是轻量级的关系型的数据库,使用与操作也都非常便捷,下面就qt链接mysql和sqlite数据库的操作步骤做个简单的记录。

1、qt链接sqlite数据库

1)加载数据库的驱动
首先要包含数据库操作需要的头文件。


#include <QSqlQuery>
#include <QSqlError>
#include <QtSql>
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");


2)选择需要链接的数据库


db.setDatabaseName("people.db");


4、打开数据库并错误捕获
打开数据库 :db.open()
如果数据库打开错误,错误信息会存储在 :db.lastError().text()


打开数据库,如果打开错误则打印出错信息 :
if (!db.open())
{
qDebug()<<"open database failed ---"<<db.lastError().text()<<"/n";
return -1;
}


5、操作数据库(查询数据库的信息)


QSqlQuery query;
bool ok = query.exec(
"CREATE TABLE IF NOT EXISTS  people (
id INTEGER PRIMARY KEY AUTOINCREMENT,"
"name VARCHAR(20) NOT NULL,"
"age INTEGER NULL);"
);
if (ok)
{
qDebug()<<"ceate table partition success/n";
}
else
{
qDebug()<<"ceate table partition failed/n";
}
for (int i = 0; i< 3; ++i)
{
query.prepare("INSERT INTO people (id, name, age) VALUES (:id, :name, :age)");
query.bindValue(":name", QString("smith_%1").arg(i+1));
query.bindValue(":age", 20+i*5);
query.exec();
}
query.exec("SELECT id, name, age FROM people");
while (query.next())
{
qDebug()<<"people("<<query.value(0).toInt()<<")  name:"<<query.value(1).toString()<<"  age:"<<query.value(2).toInt();
}
return a.exec();
}


以上就是qt 操作sqlite数据库的具体操作步骤,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: