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