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