SQLite嵌入式數(shù)據(jù)庫系統(tǒng)設(shè)計
將在本目錄下生成Makefile文件。修改Makefile文件中如下語句,指定主機(jī)編譯器為GCC:
這時就可以運(yùn)行make make install命令開始編譯,若無其他錯誤提示,則會在/../sqlite-3.3.8/sqlite-arm-linux/lib目錄下生成庫文件。主要有l(wèi)ibsqlite3.so、libsqlite3.so.O、libsqlite3.so.O.8.6三個文件。同時在bin文件夾下生成了可執(zhí)行文件sqlite3。為了減小執(zhí)行文件大小,用strip命令處理去掉其中的調(diào)試信息。
庫文件生成后,可以通過NFS(網(wǎng)絡(luò)文件系統(tǒng))把相關(guān)庫文件拷貝到ARM開發(fā)板上,設(shè)置好主機(jī)NFS服務(wù)器,啟動目標(biāo)板后,執(zhí)行:
其中192.168.1.101為NFS服務(wù)器IP,這樣就把SQLite庫文件所在文件夾掛載到了目標(biāo)板上,拷貝時注意加上-aRF選項,因為libsqlite3.so和libsqlite3.so.O是鏈接到Iibsqlite3.so.O.8.6的。4 嵌入式數(shù)據(jù)庫系統(tǒng)設(shè)計及實現(xiàn)
對嵌入式系統(tǒng)而言,強(qiáng)大的圖形用戶接口使系統(tǒng)的功能更加豐富。目前有眾多的GUI可供使用,考慮到授權(quán)和價格的因素,我們在Qt/Embedded基礎(chǔ)上進(jìn)行數(shù)據(jù)庫界面程序的開發(fā),完成嵌入式數(shù)據(jù)庫系統(tǒng)的設(shè)計。Qt良好的封裝機(jī)制使Qt的模塊化程度非常高,可重用性較好。嵌入式數(shù)據(jù)庫系統(tǒng)的基本結(jié)構(gòu)如圖2所示。
通過Qt的QTable控件來實現(xiàn)數(shù)據(jù)表單的顯示,通過QListView、QC20mBobox以及QTextEdit等控件進(jìn)行數(shù)據(jù)表單的選擇、數(shù)據(jù)輸入等,配合PushButton控件實現(xiàn)數(shù)據(jù)表的創(chuàng)建、刪除和數(shù)據(jù)查詢、添加、刪除、修改等操作。這樣,實現(xiàn)數(shù)據(jù)庫系統(tǒng)的基本管理,并可利用串口實現(xiàn)與后臺數(shù)據(jù)庫之間的數(shù)據(jù)交互。本系統(tǒng)利用Qt Designer實現(xiàn)數(shù)據(jù)庫界面的快速開發(fā),并通過調(diào)用SQLite的API接口函數(shù)實現(xiàn)數(shù)據(jù)庫的基本操作。下面簡要介紹一下用QtDesigner開發(fā)數(shù)據(jù)庫界面的基本方法及關(guān)鍵代碼。新建一個C++項目,在此基礎(chǔ)上新建一個窗口部件,在窗口部件上添加一個Table控件作為數(shù)據(jù)表單的顯示界面。另根據(jù)需要,添加PushButton控件以實現(xiàn)相應(yīng)的操作。在窗口類下新建一個槽,命名為SelectSlot()。連接相關(guān)按鈕信號,關(guān)鍵代碼如下:
其中tableView函數(shù)的作用是將查詢得到的數(shù)據(jù)表顯示在Table控件中。函數(shù)體程序如下:
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論