Qt資料庫 (一)簡介

2021-07-03 20:52:14 字數 3263 閱讀 5912

資料庫幾乎是每個較大的軟體所必須應用的,而在qt中也使用qtsql模組實現了對資料庫的完美支援。我們在qt creator的幫助中查詢qtsql module,其內容如下圖:

可以看到這個模組是一組類的集合,使用這個模組我們需要加入標頭檔案#include ,而在工程檔案中需要加入一行**:qt += sql

這裡每個類的作用在後面都有簡單的介紹,你也可以進入其中檢視其詳細內容。下面我們先簡單的說一下qsqldatabase類和qsqlquery類。

qsqldatabase類實現了資料庫連線的操作,現在qt支援的資料庫型別有如下幾種:

而現在我們使用的免費的qt只提供了sqlite和odbc資料庫的驅動(我們可以在qt 4.5安裝目錄下的qt/plugins/sqldrivers資料夾下檢視),而其他資料庫的驅動需要我們自己新增。sqlite是乙個小巧的嵌入式資料庫,關於它的介紹你可以自己在網上查詢。

qsqlquery類用來執行sql語句。(關於sql語句:在我的教程中只會出現很簡單的sql語句,你沒有相關知識也可以看懂,但是如果想進行深入學習,就需要自己學習相關知識了。)

下面我們就先利用這兩個類來實現最簡單的資料庫程式,其他的類我們會在以後的教程中逐個學習到。

1.新建qt控制台工程。

2.選擇上qtsql模組,這樣就會自動往工程檔案中新增qt += sql 這行**了。

3.修改main.cpp中的內容如下。

#include

#include

"mainwindow.h"

#include

#include

#include

#include

int

main(int

argc,

char

*argv)

else

qsqlquery

query(db);

//以下執行相關qsl語句

bool

buscess=query.exec("create

table

person

(idint

primary

key,

firstname

varchar(20),

lastname

varchar(20))");

//新建person表,id設定為主鍵,乙個firstname項,還有乙個lastname項

query.exec("insert

into

person

values(101,

'danny',

'young')");

query.exec("insert

into

person

values(102,

'christine',

'holand')");

query.exec("insert

into

person

values(103,

'lars',

'gordon')");

query.exec("insert

into

person

values(104,

'roberto',

'robitaille')");

query.exec("insert

into

person

values(105,

'maria',

'papadopoulos')");

//向表中插入5條記錄

if(!buscess)

else

query.exec("select

*from

person");

while

(query.next())

return

a.exec();

}
我們使用了sqlite資料庫,連線名為「:memory:」表示這是建立在記憶體中的資料庫,也就是說該資料庫只在程式執行期間有效。如果需要儲存該資料庫檔案,我們可以將它更改為實際的檔案路徑。

4.最終效果如下。

5.我們可以將主函式更改如下。

#include

#include

"mainwindow.h"

#include

#include

#include

#include

int

main(int

argc,

char

*argv)

這樣執行程式就可以顯示現在所有能用的資料庫驅動了。

可以看到現在可用的資料庫驅動只有三個。

Qt 資料庫簡介

資料庫幾乎是每個較大的軟體所必須應用的,而在qt中也使用qtsql模組實現了對資料庫的完美支援。我們可以在qt creator的幫助中查詢qtsql module的幫助文件。這個模組是一組類的集合,使用這個模組我們需要加入標頭檔案 include並且在工程檔案中需要加入一行 qt sql qsqlq...

Qt資料庫教程(一)簡介

資料庫幾乎是每個較大的軟體所必須應用的,而在qt中也使用qtsql模組實現了對資料庫的完美支援。我們在qt 助手中查詢qtsql module,可以發現我們用來連線 使用資料的各種類!比如說qsqldatabase qsqlquery等等。這些類都是這個模組的集合,使用這個模組我們需要加入標頭檔案 ...

QT 資料庫程式設計一

qt如果要進行網路程式設計首先需要在.pro中新增如下 qt network logindlg.h ifndef logindlg h define logindlg h include include include include class logindlg public qdialog en...