Qt中使用SQLITE数据库

<首先,应该在pro文件中添加如下语句>

QT +=sql

在头文件中声明调用所需要的库

#include //数据库

#include //数据库

#include //语句

#include //错误


链接数据库

QSqlDatabase m_db =QSqlDatabase::addDatabase("QSQLITE","note.db");//此处的第一个参数为所调用的数据库,因为在QT中有QMYSQL,QODBC等数据库,所以在此需要声明,第二个参数为本地数据库的路径和名字,如果在某个文件夹下,可以如下写:res\note.db

// 打开数据库

m_db.setDatabaseName("note.db");

m_db.open();//此处可以添加bool变量判断打开状态

QSqlQuery query=QSqlQuery(m_db);//声明Query语句,方便以后的调用,并且绑定数据库为m_db;

此处在网上很多地方甚至没有,直接导致执行query语句时提示数据库没有打开的错误,需要特别注意。

//创建表

QString create_sql ="create table today (title text,note,text)";

query.prepare(create_sql);//先准备

query.exec();//执行create table 语句

//此处省去了bool判断,如果需要可以自己加:

if (!query.exec()){

qDebug()<

}

//插入内容

QString insert_sql ="insert into note values('今天没吃药,感觉萌萌哒','今天天气不错,嗯,好好学习')";

query.prepare(insert_sql);//先准备

query.exec();//执行 语句

//更新语句

QString updata_sql="updata note set title='今天吃药了' where note ='今天天气不错,嗯,好好学习'";

query.prepare(update_sql);//先准备

query.exec();//执行语句

//查询语句

QString look_sql="select * from note";

query.prepare(look_sql);

query.exec();

while(query.next()){//取出结果,采用query.next()

QString title = query.value(0).toString;

QString note = query.value(1).toString;

//接下来可以输出也可以不输出,自己看。。

}

//删除语句
QString delete_sql ="delete note where title='今天吃药了'";
query.prepare(delete_sql);
query.exec();

//大致上就是这些内容了



你可能感兴趣的:(Qt)