1. 程式人生 > >Qt中使用SQLITE資料庫

Qt中使用SQLITE資料庫

<首先,應該在pro檔案中新增如下語句>

QT +=sql

在標頭檔案中宣告呼叫所需要的庫

#include <QSql>//資料庫

#include <QSqlDatabase>//資料庫

#include <QSqlQuery>//語句

#include <QSqlError>//錯誤

連結資料庫

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()<<query.lastError();//記不太清,準確性有待考證

}

//插入內容

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();
//大致上就是這些內容了