在上一篇
Qt入門篇(4): 建立存取資料庫的類別,我主要設計資料庫管理類別,然後在主程式初始化此類別,也就是說使用物件存取資料庫.而這次我將在類別YTDBConnection中的增加成員函數『getTable』將從資料庫Taiwan撈取資料表「Taiwan_PostCode」進行篩選後,利用QTableView顯示其資料.
|
圖一.存取資料庫類別YTDBConnection
|
在這次範例,我使用
SQLiteStudio在SQLite資料庫Taiwan新增資料表「Taiwan_PostCode」,主要紀錄郵遞區號,縣市,鄉鎮區和鄉鎮區英文,你可以到GitHub進行下載與練習.
|
\圖二.資料庫Taiwan增加資料表「Taiwan_PostCode」
|
程式碼
教程
- 首先,請先宣告QSqlTableModel(資料庫專用的表單),然後選擇要從資料庫Taiwan抓取資料表,這裡以「Taiwan_PostCode」為例.
QSqlTableModel *model=new QSqlTableModel(0,db);
model->setTable("Taiwan_PostCode");
- 接下來,由於輸入參數字串currentText是QComboBox目前顯示的內容,這裡的範例是使用台灣縣市,因此使用篩選只取出此縣市相關資訊.
model->setFilter("City_CName='"+currentText+"'");
- 然後,請將輸入參數QTableView設定資料來源後,即可顯示所抓取的資料.
srcTable->setModel(model);
- 最後,以下為執行結果.
Reference:
1. QtSql 5.0: QSqlTableModel Class
留言
張貼留言