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...