Qt之運算元據庫(SQLite)

2021-06-21 09:45:23 字數 2185 閱讀 3920

**:

qtsql模組提供了與平台以及資料庫種類無關的訪問sql資料庫的介面,這個介面由利用qt的模型檢視結構將資料庫與使用者介面整合的一套類來支援。

驅動程式

資料庫 

qdb2

ibm db27.1版以及更新的版本 

qibase

borlandinterbase

qmysql

mysql 

qoci

甲骨文公司(oraclecall inte***ce)

qodbc

odbc(包括微軟公司的qsl服務)

qpsql

postgresql的7.3版以及更高版本 

qsqlite

qslite第3版 

qsqlite2

qslite第2版

qtds

qybase自適應伺服器 

由於授權的許可限制,qt的開源版本無法提供所有的驅動程式,當配置qt時,即可以選擇qt本身包含的sql驅動程式,也可以以查件的形式建立驅動程式,公共領域中不斷發展的sqlite資料庫將向qt提供支援。

如下討論關於qt進行sqlite的基本操作。

**如下:

//新增資料庫驅動、設定資料庫名稱、資料庫登入使用者名稱、密碼

qsqldatabase database =qsqldatabase::adddatabase("qsqlite"); 

database.setdatabasename("database.db");

database.setusername("root");  

database.setpassword("123456");

//開啟資料庫

if(!database.open())

else

else

//查詢最大id

int max_id = 0;

sql_query.prepare(select_max_sql);

if(!sql_query.exec())

else

}

//插入資料

sql_query.prepare(insert_sql);

sql_query.addbindvalue(max_id+1);

sql_query.addbindvalue("name");

sql_query.addbindvalue(25);

if(!sql_query.exec())

else

//更新資料

sql_query.prepare(update_sql);

sql_query.bindvalue(":name", "qt");

sql_query.bindvalue(":id", 1);

if(!sql_query.exec())

else

//查詢部分資料

if(!sql_query.exec(select_sql))

else

}

//查詢所有資料

sql_query.prepare(select_all_sql);

if(!sql_query.exec())

else

}

//刪除資料

sql_query.prepare(delete_sql);

sql_query.addbindvalue(max_id);

if(!sql_query.exec())

else

//清空表

sql_query.prepare(clear_sql);

if(!sql_query.exec())

else

}

//關閉資料庫

database.close();

//刪除資料庫

qfile::remove("database.db");

可以通過一些工具對sqlite進行管理,如下:

sqlite的管理

管理工具挺多的,這裡簡單介紹幾款:

注:

╰☆奮鬥ing❤孩子`

原文:。

QT 運算元據庫SQLite例項

include widget.h qsqlquery query dbconn 以下執行相關qsl語句 新建student表,id設定為主鍵,還有乙個name項 query.exec create table student id varchar,name varchar query.exec qo...

Qt運算元據庫

qt運算元據庫其實不難,只要連線成功資料庫,寫對sql語句就行。連線資料庫可參照 簡單的在程式中寫死的sql語句寫法如下 qsqlquery query query.exec insert into tablename id,name values 001,test 先構造乙個qsqlquery的物...

QT運算元據庫

qsqldatabase db qsqldatabase adddatabase qmysql db.sethostname localhost db.setdatabasename test db.setusername root db.setpassword bool ok db.open qs...