亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式Qt下的MySQL數(shù)據(jù)庫(kù)設(shè)計(jì)與開發(fā)

        2020-06-29 07:16:23韓改寧李永鋒高伊騰
        微型電腦應(yīng)用 2020年5期
        關(guān)鍵詞:MySQL數(shù)據(jù)庫(kù)嵌入式

        韓改寧 李永鋒 高伊騰

        摘 要:由于嵌入式設(shè)備中可使用的資源相對(duì)較少,針對(duì)嵌入式系統(tǒng)下的數(shù)據(jù)庫(kù)設(shè)計(jì)問題,利用Qt和MySQL實(shí)現(xiàn)數(shù)據(jù)庫(kù)開發(fā),從而解決數(shù)據(jù)庫(kù)大,占用資源多的問題。Qt提供的QtSql模塊實(shí)現(xiàn)Qt數(shù)據(jù)庫(kù)應(yīng)用程序的關(guān)聯(lián),采用MySQL輕型數(shù)據(jù)庫(kù),支持Windows和Linux等操作系統(tǒng),同時(shí)提供ODBC 接口。利用Qt開發(fā)平臺(tái),通過Qt中QSql模塊及相關(guān)數(shù)據(jù)庫(kù)驅(qū)動(dòng),創(chuàng)建面向應(yīng)用的數(shù)據(jù)庫(kù)系統(tǒng)開發(fā),并通過SQL語句進(jìn)行數(shù)據(jù)庫(kù)交互操作,然后通過交叉編譯器,將其移植到ARM Cortex-A8開發(fā)板上,從而實(shí)現(xiàn)嵌入式下的數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)與開發(fā)。

        關(guān)鍵詞:嵌入式;Qt;QtSQL模塊;MySQL數(shù)據(jù)庫(kù);ARM Cortex-A8

        Abstract:Because resources which can be used are relatively few in the embedded devices. For embedded system, a database is designed in this paper, by using Qt and MYSQL, to solve problems of large volume of database and occupying more resources. QtSql module provides a seamless connection to database and Qt applications, MYSQL is used for lightweight database, to support Windows and Linux operating systems and provide ODBC interface. In the paper, Qt development platform is used to create an application database system development through QtSql modules and related database driver, and interact with the database through SQL statements. Then, it is compiled through cross-compiler, and transplanted to ARM Cortex-A8 development board in order to realize the development and design of the database system in embedded environment.

        Key words:embedded;Qt;QtSQL model;MYSQL database;ARM Cortex-A8

        0 引言

        數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)數(shù)據(jù)處理與信息管理系統(tǒng)的核心,研究和管理的對(duì)象是數(shù)據(jù),所以數(shù)據(jù)庫(kù)技術(shù)是對(duì)數(shù)據(jù)的統(tǒng)一組織和管理。一般在嵌入式開發(fā)中,嵌入式數(shù)據(jù)庫(kù)應(yīng)用到嵌入式設(shè)備中,要求占用內(nèi)存小、運(yùn)行速度快、執(zhí)行效率高等,這樣才可以降低開設(shè)備成本,提高設(shè)備效能。

        由于Qt是一個(gè)跨平臺(tái)的C++圖形用戶界面應(yīng)用程序設(shè)計(jì)框架,在建立好的Qt環(huán)境下,在建立基于ARM開發(fā)板的交叉編譯環(huán)境,開發(fā)出可以移植到ARM開發(fā)板上的應(yīng)用程序。

        1 Qt中的SQL數(shù)據(jù)庫(kù)

        Qt中提供了不同的數(shù)據(jù)庫(kù)接口,為不同層次的用戶提供了豐富的數(shù)據(jù)庫(kù)操作類。QtSql模塊由驅(qū)動(dòng)層、SQL接口層和用戶接口層3部分組成,各層次功能如表1所示。

        2 Qt中創(chuàng)建數(shù)據(jù)庫(kù)

        2.1 創(chuàng)建連接

        通過驅(qū)動(dòng)層或者SQL接口層提供的類來訪問數(shù)據(jù)庫(kù),首先創(chuàng)建并打開數(shù)據(jù)庫(kù)連接。在應(yīng)用程序中,可以向相同的數(shù)據(jù)庫(kù)創(chuàng)建多個(gè)連接。

        2.2 使用SQL語句操作

        Qt中支持SQL語句。有兩種方式創(chuàng)建數(shù)據(jù)庫(kù)表,一種是利用mySql Comman LineClient端,執(zhí)行SQL語句建立;一種是使用SQL模型類,利用Qt提供MVC模式,比如QSqlQueryModel和QSqlTableModel類等進(jìn)行數(shù)據(jù)庫(kù)操作,而且可以將結(jié)果在表格中顯示出來。

        2.2.1 使用SQL語句操作數(shù)據(jù)庫(kù)

        數(shù)據(jù)庫(kù)連接成功后,首先要?jiǎng)?chuàng)建student數(shù)據(jù)庫(kù)表, 包括學(xué)生的學(xué)號(hào)、姓名、性別、年齡、學(xué)院、平均成績(jī)。

        (1) 利用QSqlQuery類提供SQL語句操作:

        然后向表中插入記錄,利用SQL語句操作:

        query.exec("insert into student values (1001, ‘王浩,‘男,20,‘計(jì)算機(jī)學(xué)院,90)");

        query.exec("insert into student values (1002,‘張紅,‘女,20,‘計(jì)算機(jī)學(xué)院,92)");

        (2) 利用MySql命令行方式實(shí)現(xiàn)數(shù)據(jù)庫(kù)表的創(chuàng)建,如圖2所示。

        (a) 查詢創(chuàng)建的數(shù)據(jù)庫(kù)

        (b) 查詢?cè)摂?shù)據(jù)庫(kù)下包含的數(shù)據(jù)庫(kù)表

        (c) 顯示數(shù)據(jù)庫(kù)表結(jié)構(gòu)

        (d) 顯示數(shù)據(jù)庫(kù)表數(shù)據(jù)

        最后,對(duì)數(shù)據(jù)庫(kù)表進(jìn)行遍歷操作,利用SQL語句,如插入記錄、顯示表記錄、查詢、定位等。

        第一種方法不需要單獨(dú)配置其他數(shù)據(jù)庫(kù),直接在Qt開發(fā)平臺(tái)上,對(duì)數(shù)據(jù)庫(kù)表進(jìn)行創(chuàng)建和操作。該方法適合于Qt 下的所以數(shù)據(jù)庫(kù)操作。

        第二種方法是在Qt平臺(tái)之外,安裝MySql數(shù)據(jù)庫(kù),然后通過CMD命令的方式創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)及添加表數(shù)據(jù)庫(kù)。該方法對(duì)數(shù)據(jù)庫(kù)表操作直觀,但是需要安裝程序。

        2.2.2 Qt實(shí)現(xiàn)數(shù)據(jù)庫(kù)表的顯示

        Qt中提供了更簡(jiǎn)單的數(shù)據(jù)庫(kù)操作和數(shù)據(jù)顯示模型,基于MVC(Model-View-Control)架構(gòu),Qt下提供多種Model模型和View視圖方式,在此,通過兩個(gè)Model模型進(jìn)行數(shù)據(jù)表管理。

        (1) QSqlQueryModel類對(duì)數(shù)據(jù)表顯示

        創(chuàng)建QSqlQueryModel的實(shí)例modelQuery,再利用SQL語句查詢student表的內(nèi)容,再建立了一個(gè)視圖view,通過視圖的setModel方法添加模型。

        3 學(xué)生信息管理數(shù)據(jù)庫(kù)設(shè)計(jì)

        按照上述數(shù)據(jù)庫(kù)連接與SQL語句操作方法,利用Qt中QSqlTableModel類模型對(duì)數(shù)據(jù)庫(kù)進(jìn)行增加、刪除、修改及查詢等操作。登錄界面如圖3所示,數(shù)據(jù)庫(kù)主界面如圖4所示,數(shù)據(jù)庫(kù)表操作如圖5-圖7所示。

        4 數(shù)據(jù)庫(kù)系統(tǒng)移植

        首先,在ARM Cortex-A8開發(fā)板上配置環(huán)境,移植操作?系統(tǒng),然后通過交叉編譯器arm_linux_gcc進(jìn)行編譯,最后,將交叉編譯后生成的可執(zhí)行文件移植到開發(fā)板上并運(yùn)行。學(xué)生信息管理平臺(tái)效果如圖8所示。

        5 總結(jié)

        針對(duì)嵌入式系統(tǒng)下的數(shù)據(jù)庫(kù)設(shè)計(jì)問題,本設(shè)計(jì)利用Qt和MySQL實(shí)現(xiàn)數(shù)據(jù)庫(kù)開發(fā),從而解決數(shù)據(jù)庫(kù)大,占用資源多的問題。通過Qt提供的QtSql模塊實(shí)現(xiàn)數(shù)據(jù)庫(kù)關(guān)聯(lián),利用SQL語句實(shí)現(xiàn)數(shù)據(jù)庫(kù)表的創(chuàng)建和添加記錄,通過QSqlQueryModel類和QSqlTableModel類兩種模型進(jìn)行數(shù)據(jù)管理,采用QTableView類視圖實(shí)現(xiàn)數(shù)據(jù)庫(kù)表的顯示,最后,通過交叉編譯,并移植到ARM Cortex-A8開發(fā)板上。該設(shè)計(jì)方案簡(jiǎn)單易操作,占用資源較少,適合嵌入式系統(tǒng)下的小型數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)。

        參考文獻(xiàn)

        [1] 張治國(guó),董西廣.基于Qt平臺(tái)的數(shù)據(jù)庫(kù)編程[J].福建電腦,2011 (3):165-167.

        [2] 孔翔鳴. Qt本地?cái)?shù)據(jù)庫(kù)開發(fā)[J]. 電腦知識(shí)與技術(shù), 2017, 13(10):4-5.

        [3] 梁隆愷, 韓改寧, 王曉妮. 嵌入式Qt下的數(shù)據(jù)庫(kù)程序設(shè)計(jì)與開發(fā)[J]. 辦公自動(dòng)化, 2014(21):58-61.

        [4] 蔡志明,陸川富.精通Qt4編程[M]. 第2版.北京:電子工業(yè)出版社,2011.

        [5] 閔孝忠, 朱林立. QT環(huán)境下通用數(shù)據(jù)庫(kù)組件技術(shù)的研究與設(shè)計(jì)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2015, 32(12):231-234.

        [6] 毛成果.采煤機(jī)搖臂便攜式數(shù)據(jù)采集及分析系統(tǒng)研究[D]. 徐州:中國(guó)礦業(yè)大學(xué), 2014.

        [7] 郭琳. 一種多功能教學(xué)輔助系統(tǒng)的軟件設(shè)計(jì)[D]. 哈爾濱:黑龍江大學(xué), 2018.

        [8] 瞿帥,張曉麗,朱程浩,等.機(jī)載激光雷達(dá)森林資源調(diào)查系統(tǒng)的設(shè)計(jì)與試驗(yàn)[J].西北林學(xué)院學(xué)報(bào), 2018, 33(4):175-182.

        [9] 林曉斌, 林晨. 基于ARM9與QT的多功能智能車載系統(tǒng)研發(fā)[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版), 2018(3). 92-94.

        (收稿日期:2019.09.05)

        猜你喜歡
        MySQL數(shù)據(jù)庫(kù)嵌入式
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        充電樁狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)與C/S框架設(shè)計(jì)
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        基于B/S結(jié)構(gòu)的高校畢業(yè)設(shè)計(jì)選題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        改進(jìn)的SSH框架技術(shù)在醫(yī)藥管理系統(tǒng)中的研究及應(yīng)用
        基于PHP技術(shù)網(wǎng)上紀(jì)念園的設(shè)計(jì)與實(shí)現(xiàn)
        Altera加入嵌入式視覺聯(lián)盟
        倍福 CX8091嵌入式控制器
        久久久久久久久久久国产| 亚洲视频一区二区免费看| 久久久精品人妻一区二区三区四区| 中国女人内谢69xxxx免费视频 | 国产污污视频| 亚洲一区极品美女写真在线看| 亚洲精品国产成人久久av| 欧美狠狠入鲁的视频777色| 婷婷综合久久中文字幕蜜桃三电影 | 免费观看又污又黄的网站| 97久久久久国产精品嫩草影院 | 99在线国产视频| 毛片成人18毛片免费看| 亚洲国产精品无码久久久| 无遮高潮国产免费观看| 亚洲大尺度动作在线观看一区| 日本不卡一区二区三区久久精品| 亚洲日韩中文字幕无码一区| 熟妇人妻中文字幕无码老熟妇| 亚洲中文字幕有码av| 麻豆最新国产av原创| 国产真实乱对白精彩久久老熟妇女| 国产偷v国产偷v亚洲偷v| 亚洲一区二区在线视频,| 老鲁夜夜老鲁| 亚洲自偷自拍熟女另类| 精品人妻丰满久久久a| 男女啪啪啪的高清视频| 国产精品国产三级国产专播| 精品一区二区三区在线观看视频| 视频精品熟女一区二区三区| 少妇下面好爽好紧好湿一区二区| 亚洲av无码xxx麻豆艾秋| 精品国产亚欧无码久久久| 草青青视频手机免费观看| 国产av无码国产av毛片| 国产av日韩a∨亚洲av电影| 在线观看黄片在线播放视频| 国产精品国产三级国产密月| 免费精品一区二区三区第35| 亚洲av午夜成人片精品|