Qt使用sqlite資料庫的問題

2021-08-19 02:32:26 字數 1405 閱讀 1440

之前使用資料庫用的都是mysql,覺得挺方便的,但最近做的程式要在linux開發板上跑,就使用了qt自帶的輕量級資料庫sqlite,但使用過程中遇到了一些問題:

標頭檔案:

#include 

qsqldatabase db;

public:

explicit

widget(qwidget *parent = 0);

~widget();

void databaseconnect();

原始檔:

void frmmain::databaseconnect()

qsqlquery query;

qstring connectdb = qstring("create table entedata (num int primary key auto_increment,time timestamp,ion int,temperature int,humidity int)");

//新建資料表

if(!query.exec(connectdb))//資料表建立失敗

}

標頭檔案同源**

原始檔:

void frmmain::databaseconnect()

qsqlquery query;

//判斷資料表是否存在,不存在則建立

if(!query.exec("select * from entedata"))

} }

改動點主要在sql語句:

改動前:

create

table entedata (num int

primary

key auto_increment,time

timestamp,ion int,temperature int,humidity int)

改動後:

create

table entedata(num integer

primary

key autoincrement,time

timestamp,ion integer,temperature integer,humidity integer)

1、sqlite中,自動增長是autoincrement而不是auto_increment,這裡與mysql不同;

2、sqlite中,int 單獨做資料型別沒問題,做主鍵也沒問題,做主鍵並且需要autoincrement屬性的話就得是

integer primary key autoincrement

在Qt中使用SQLite資料庫

sqlite sql 是一款開源輕量級的資料庫軟體,不需要server,可以整合在其他軟體中,非常適合嵌入式系統。qt5以上版本可以直接使用sqlite qt自帶驅動 引入sql模組 在qt專案檔案 pro檔案 中,加入sql模組 qt sql include include include檢查連線...

Qt框架下使用SQLite資料庫

建立sqlite資料庫,命名為database.db,使用者名為username,密碼為123456 開啟資料庫 建立一張名為user的資料表,資料表有兩個字段,乙個使用者名稱 主鍵 乙個是該使用者對應的密碼,兩個欄位的型別相同,均為字串型別 在user資料表中插入兩條記錄 qsqldatabase...

Qt之SQLite資料庫的使用 2

驅動層為具體的資料庫和sql介面層之間提供了底層的橋梁,主要類包括qt sql模組中的qsqldriver qsqldrivercreator qsqldrivercreatorbase qsqldriverplugin和qsqlresult。qsqldriver是訪問具體sql資料庫的抽象基類,不...