Qt sqlite 資料庫的使用

2021-10-10 01:48:18 字數 2759 閱讀 6497

sqlite(sql)是一款開源輕量級的資料庫軟體,不需要server,可以整合在其他軟體中,非常適合嵌入式系統。

qt5以上版本可以直接使用sqlite。

修改.pro檔案,新增sql

qt       +

= sql

新增標頭檔案

#include

"qsqldatabase"

#include

"qsqlquery"

#include

"qsqlerror"

#include

"qdebug"

void mainwindow::

connect_sqlite()

else

//建立表

qsqlquery sql_query;

//不存在則建立表if(

!sql_query.

exec

("create table information(type varchar(20),time varchar(20),tick int(32),slot1 varchar(32),slot2 varchar(32),slot3 varchar(32),slot4 varchar(32),slot5 varchar(32),slot6 varchar(32),slot7 varchar(32),slot8 varchar(32),slot9 varchar(32),slot10 varchar(32),slot11 varchar(32),slot12 varchar(32) )"))

elseif(

!sql_query.

exec

("create table information8003(type varchar(20),time varchar(20),tick int(32),slot1 varchar(32),slot2 varchar(32),slot3 varchar(32),slot4 varchar(32),slot5 varchar(32),slot6 varchar(32),slot7 varchar(32),slot8 varchar(32),slot9 varchar(32),slot10 varchar(32),slot11 varchar(32),slot12 varchar(32) )"))

elseif(

!sql_query.

exec

("create table information8004(type varchar(20),time varchar(20),tick int(32),slot1 varchar(32),slot2 varchar(32),slot3 varchar(32),slot4 varchar(32),slot5 varchar(32),slot6 varchar(32),slot7 varchar(32),slot8 varchar(32),slot9 varchar(32),slot10 varchar(32),slot11 varchar(32),slot12 varchar(32))"))

else

}

向資料庫插入資料

void sqlitlog::

reclog()

}}}//當資料量小時,可以不要啟動事務操作,可以直接執行query.exec(recmsg);

//當資料量大時,啟動事務操作可以節省大量時間

刪除資料

和新增資料類似,將新增語句改為刪除語句即可,根據自己需求寫入刪除語句

qsqlquery query;

qstring recmsg =

qstring

("delete from information where id = 1"

);

query.

exec

(recmsg)

;

更新資料

和以上類似

qsqlquery query;

qstring recmsg =

qstring

("update information set type = \"0x8004\" where id = 1"

);

query.

exec

(recmsg)

;

查詢語句

qsqlquery query;

qstring recmsg =

qstring

("select * from information");

qsqlrecord record;

qstring drawdata;

qstringlist drawtimelist;

qstringlist drawticklist;

query.

exec

(recmsg)

;//迴圈獲取模型中每一行的資料

while

(query.

next()

)

刪除表

if

(!sql_query.

exec

("drop table student"))

else

關閉資料庫

qsqldatabase::

database()

.close()

;

Qt Sqlite資料庫加密

專案中需要將sqlite資料庫檔案加密,網上了一下,參考豆子大神的部落格原部落格位址,可以滿足需求,將使用方法記錄一下 將sqlitecipher資料夾中的原始碼編譯生成dll,將外掛程式放入外掛程式的sqldrivers資料夾下,其中sqlitecipher.dll為release版本,sqlit...

QT SQLite 多資料庫操作大全

一般qt都是把開啟乙個預設資料庫連線,操作乙個資料庫連線,但是對sqlite中頻率修改容易加鎖,因此有一種設計模式是把頻率修改的表放在不同的資料庫檔案中,但這樣要修改 運算元據庫部分 通常開啟 bool databasemanager opendb qsqlerror databasemanager...

資料庫的使用

moviemodel中存放資料 property nonatomic,copy nsstring moviename property nonatomic,assign double movieprice property nonatomic,assign int movieid inte ce s...