在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探究SQLite在嵌入式系統(tǒng)Wince中的應(yīng)用

電子工程師 ? 來(lái)源:微型機(jī)與應(yīng)用蔣晶,郝繼 ? 作者:微型機(jī)與應(yīng)用蔣晶 ? 2021-03-31 10:39 ? 次閱讀

隨著科學(xué)技術(shù)的發(fā)展,嵌入式系統(tǒng)成為了科技發(fā)展的主要領(lǐng)域, Linus和Wince是比較常見(jiàn)的嵌入式系統(tǒng)。嵌入式開(kāi)發(fā)過(guò)程離不開(kāi)數(shù)據(jù)庫(kù)的應(yīng)用,對(duì)于嵌入式數(shù)據(jù)庫(kù)的選擇是必要的。通常,嵌入式系統(tǒng)選擇的數(shù)據(jù)應(yīng)該盡量小,SQLite在Linux中的應(yīng)用很廣泛,本設(shè)計(jì)介紹了SQLite作為一款小巧的嵌入式數(shù)據(jù)庫(kù)在Wince中的應(yīng)用實(shí)例。

1 SQLite數(shù)據(jù)庫(kù)的介紹與選擇

1.1 SQLite數(shù)據(jù)庫(kù)結(jié)構(gòu)

SQLite數(shù)據(jù)庫(kù)結(jié)構(gòu)圖如圖1所示。

1.2 SQlite數(shù)據(jù)庫(kù)的特點(diǎn)

SQLite是一個(gè)開(kāi)源的嵌入式關(guān)系數(shù)據(jù)庫(kù),結(jié)構(gòu)緊湊,可靠性強(qiáng)。有以下特點(diǎn):

(1)使用非常簡(jiǎn)單。只需要掌握3個(gè)核心API函數(shù),大多數(shù)的SQL語(yǔ)句都可以使用。

(2)占用很少的存儲(chǔ)器空間。SQLite完全獨(dú)立,數(shù)據(jù)庫(kù)引擎和應(yīng)用程序在同一系統(tǒng)進(jìn)程中,因此運(yùn)行速度較高。

(3)支持ACID事務(wù),在系統(tǒng)出現(xiàn)問(wèn)題或電源斷電時(shí)不會(huì)出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。

(4)支持多種語(yǔ)言,像C/C++/C#等。

(5)支持多個(gè)嵌入式操作系統(tǒng)平臺(tái),如Linux系統(tǒng)、Wince系統(tǒng)等。

2 SQlite的選擇

首先,SQL Server CE是Wince自身的數(shù)據(jù)庫(kù),必須在Wince系統(tǒng)中安裝3個(gè)文件才能使用,而SQLite只需要在電腦上安裝SQlite-1.0.65.0,把生成的SQlite.Interop.065.DLL移植到Wince系統(tǒng)運(yùn)行的程序中,并在Visual Studio2008寫(xiě)程序時(shí)添加一個(gè)引用即可,操作較簡(jiǎn)單。其次SQLite占用很少的存儲(chǔ)器空間(150 KB~250 KB),但是SQL Server CE卻要占用 1 MB~3 MB的空間。最重要的是SQLite具有良好的移植性,可以應(yīng)用到多個(gè)嵌入式系統(tǒng),而SQL Server CE只能在Wince中運(yùn)行。

3 SQLite的應(yīng)用硬件及軟件平臺(tái)

本文探討中以S3C2440作為處理器ARM9的硬件平臺(tái),以Wince6.0為應(yīng)用系統(tǒng),支持.NET2.0平臺(tái)。在Visual Studio 2008軟件平臺(tái)中用 C#中編寫(xiě)程序,但是在新建項(xiàng)目中選擇智能設(shè)備時(shí)要選擇.NET2.0平臺(tái)。在Visual Studio 2008中用C#編寫(xiě)程序時(shí),第一次使用時(shí)要添加引用System.Data.SQLite,在程序中添加using指令集,這樣可以通過(guò)軟件編寫(xiě)程序?qū)崿F(xiàn)建庫(kù)建表的功能。

4 SQLite在Wince中的應(yīng)用實(shí)例

4.1 Wince中顯示數(shù)據(jù)的控件DataGrid及其屬性

DataGrid控件實(shí)際上是一個(gè)固定的列集合,每一列的行數(shù)都是不確定的,可以看作一個(gè)用來(lái)顯示數(shù)據(jù)的網(wǎng)格。它的網(wǎng)格是看不見(jiàn)的,只有建立了數(shù)據(jù)表,才能看到其中每一行和每一列的具體內(nèi)容,如果一個(gè)單元格的文本太長(zhǎng),就不能在單元格中全部顯示。但是在Wince系統(tǒng)中顯示數(shù)據(jù)的控件只有這一個(gè),所以不能完全顯示數(shù)據(jù)這一問(wèn)題正是本設(shè)計(jì)所要解決的。圖2顯示了DataGrid在Wince中的屬性。

4.2 SQLite建數(shù)據(jù)庫(kù)的步驟

SQLite建數(shù)據(jù)庫(kù)的步驟如下:

(1)通過(guò)SQLiteConnection對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接,通過(guò)軟件建數(shù)據(jù)庫(kù),首先要有數(shù)據(jù)源,如:

SQLiteConnection conn=new SQLiteConnection(“Data Source=\Program Files\ maindata.db”);

對(duì)數(shù)據(jù)庫(kù)要進(jìn)行操作需要執(zhí)行的命令,如SQLiteCommand cmd=new SQLiteCommand();

(2)每次使用數(shù)據(jù)庫(kù)前需要打開(kāi)數(shù)據(jù)庫(kù),還需要連接數(shù)據(jù)庫(kù),關(guān)閉數(shù)據(jù)庫(kù);

(3)通過(guò) CREATE TABLE SQL語(yǔ)句進(jìn)行建表。必須給表注上表名,方便下面操作。如:

{cmd.CommandText=“CREATETABLE ServerLert(Numintrger,BedNum varchar(20),ServerItem varchar(50),ServerTime varchar(30),Passwords varchar(30));”

(4)可以通過(guò)INSERT INTO 語(yǔ)句進(jìn)行插入數(shù)據(jù)。如:

cmd.CommandText=“INSERT INTO ServerLert(Num,BedNum,ServerItem,ServerTime) VALUES(1 ,′2′,′測(cè)血糖′,′10-12-10 15:50:00′)”;

(5)數(shù)據(jù)庫(kù)至此建成,由于插入的時(shí)間單元格不能完全顯示,因此需要通過(guò)對(duì)圖2中標(biāo)注有灰色背景的TableStyles進(jìn)行設(shè)置[7]。如:

DataGridTableStyle dgts=new DataGridTableStyle();

dgts.MappingName=ds.Tables[0].TableName;

DataGridTextBoxColumn dgtbc=new DataGridTextBoxColumn();

dgtbc.HeaderText=ds.Tables[0].Columns[0].ColumnName;

dgtbc.MappingName=ds.Tables[0].Columns[0].ColumnName;

dgtbc.Width=70;

dgts.GridColumnStyles.Add(dgtbc);

上面是對(duì)表中第一列進(jìn)行的寬度設(shè)置主要是對(duì)DataGridTableStyle中列的格式進(jìn)行設(shè)置,這就解決了顯示文本過(guò)長(zhǎng)的問(wèn)題。第二列設(shè)置80,第三列設(shè)置了170,在Wince中運(yùn)行的結(jié)果。如圖3所示。

4.3 Wince通過(guò)DataGrid屬性建數(shù)據(jù)庫(kù)的分析

DataGrid在應(yīng)用于基于Wince的Windows mobile智能設(shè)備時(shí),主要針對(duì)DataGridTableStyle屬性進(jìn)行設(shè)置。根據(jù)應(yīng)用于Windows mobile的原理對(duì)基于Wince的ARM9的嵌入式設(shè)備中建數(shù)據(jù)庫(kù)還是行不通。對(duì)其列的屬性進(jìn)行操作設(shè)置仍然改變不了列的寬度,所以這種路徑行不通。試了很多種方法,最后通過(guò)軟件編程進(jìn)行設(shè)置,得到了圖3的結(jié)果。比較DataGridTableStyl進(jìn)行設(shè)置與軟件設(shè)置發(fā)現(xiàn),問(wèn)題在于表的MappingName與列的MappingName設(shè)置時(shí),必須對(duì)應(yīng)才能實(shí)現(xiàn)修改功能。

用DataGridTableStyle設(shè)置,如果列的MappingName與數(shù)據(jù)庫(kù)中的建表的列不對(duì)應(yīng),則映射不存在,從而找不到網(wǎng)格去顯示數(shù)據(jù),更無(wú)法對(duì)數(shù)據(jù)的列寬進(jìn)行操作。所以通過(guò)軟件編程,可以對(duì)建在緩存區(qū)域中的每一張表中所有的列進(jìn)行操作,解決文本過(guò)長(zhǎng)不能完全顯示的問(wèn)題。

通過(guò)上面的介紹可以看出,SQLite作為開(kāi)源的嵌入式數(shù)據(jù)庫(kù)應(yīng)用在Wince中的一個(gè)優(yōu)點(diǎn)就是建表比較簡(jiǎn)單,不像SQL CE數(shù)據(jù)庫(kù),在Wince運(yùn)行中需要先創(chuàng)建表,把所建的數(shù)據(jù)庫(kù)放在Wince的系統(tǒng)中,添加數(shù)據(jù)源時(shí)再去綁定這個(gè)數(shù)據(jù)源。對(duì)于在.net2.0平臺(tái)建立的數(shù)據(jù)庫(kù),添加數(shù)據(jù)源時(shí)無(wú)法找到路徑,所以這種方法不可行。通過(guò)SQLite軟件創(chuàng)建數(shù)據(jù)庫(kù)的方法則可以改善上述不足。SQLite作為一款小巧的嵌入式數(shù)據(jù)庫(kù),發(fā)展前景很大,在基于ARM的Wince操作系統(tǒng)有著廣泛應(yīng)用。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19126

    瀏覽量

    305255
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1501

    瀏覽量

    62027
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3799

    瀏覽量

    64396
  • ACI
    ACI
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    9961
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LDO嵌入式系統(tǒng)的應(yīng)用 常見(jiàn)LDO故障及解決方法

    LDO嵌入式系統(tǒng)的應(yīng)用 LDO(Low Dropout Regulator,低降壓線性穩(wěn)壓器)是一種常用的電源管理集成電路,它在嵌入式
    的頭像 發(fā)表于 12-13 09:08 ?376次閱讀

    嵌入式系統(tǒng)開(kāi)發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開(kāi)發(fā)常見(jiàn)問(wèn)題解決

    嵌入式系統(tǒng)開(kāi)發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專(zhuān)為特定應(yīng)用設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它們通常嵌入在所控制的設(shè)備
    的頭像 發(fā)表于 12-09 09:38 ?257次閱讀

    HAL庫(kù)嵌入式系統(tǒng)的應(yīng)用

    HAL庫(kù)(Hardware Abstraction Layer Library,硬件抽象層庫(kù))嵌入式系統(tǒng)扮演著至關(guān)重要的角色。以下是HAL庫(kù)
    的頭像 發(fā)表于 12-02 11:32 ?551次閱讀

    mmc卡在嵌入式系統(tǒng)的使用

    隨著科技的發(fā)展,嵌入式系統(tǒng)我們的日常生活扮演著越來(lái)越重要的角色。從智能手機(jī)到家用電器,再到工業(yè)控制系統(tǒng)
    的頭像 發(fā)表于 11-25 09:58 ?233次閱讀

    PROM器件嵌入式系統(tǒng)的應(yīng)用

    PROM(Programmable Read-Only Memory,可編程只讀存儲(chǔ)器)器件嵌入式系統(tǒng)中有著廣泛的應(yīng)用。以下是對(duì)PROM器件嵌入
    的頭像 發(fā)表于 11-23 11:22 ?443次閱讀

    什么是嵌入式?一文讀懂嵌入式主板

    現(xiàn)代科技浪潮嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運(yùn)行的核心力量。那么,究竟什么是嵌入式嵌入式
    的頭像 發(fā)表于 10-16 10:14 ?981次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱(chēng)為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計(jì)算機(jī)硬件,其設(shè)計(jì)旨在嵌入特定設(shè)備執(zhí)行專(zhuān)門(mén)任務(wù)。
    的頭像 發(fā)表于 09-30 10:05 ?473次閱讀

    嵌入式系統(tǒng)的未來(lái)趨勢(shì)有哪些?

    會(huì)更加模塊化和集成化,允許更容易的硬件和軟件的切換和升級(jí)。這會(huì)提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性,會(huì)使得系統(tǒng)能夠適應(yīng)不斷變化的應(yīng)用需求。 5. 生態(tài)可持續(xù)性與環(huán)保材料
    發(fā)表于 09-12 15:42

    嵌入式系統(tǒng)的實(shí)時(shí)操作系統(tǒng)

    嵌入式RTOS是嵌入式應(yīng)用程序運(yùn)行、相互交互和與外界通信的底層軟件機(jī)制。本節(jié),您將了解嵌入式軟件開(kāi)發(fā)人員使用哪些流行RTOS以及它們運(yùn)行
    的頭像 發(fā)表于 08-20 11:28 ?494次閱讀

    機(jī)器視覺(jué)嵌入式的應(yīng)用

    機(jī)器視覺(jué)嵌入式系統(tǒng)的應(yīng)用是一個(gè)廣泛而深入的話題,涉及到許多不同的領(lǐng)域和技術(shù)。 機(jī)器視覺(jué)嵌入式
    的頭像 發(fā)表于 07-16 10:30 ?528次閱讀

    嵌入式系統(tǒng)怎么學(xué)?

    、C++或者Python。這些語(yǔ)言嵌入式系統(tǒng)開(kāi)發(fā)中都被廣泛應(yīng)用。 3、微處理器/微控制器架構(gòu):學(xué)習(xí)常見(jiàn)的微處理器和微控制器架構(gòu),如ARM、AVR、PIC等,了解其特性和應(yīng)用場(chǎng)景。 4、
    發(fā)表于 07-02 10:10

    入門(mén)嵌入式系統(tǒng)這些知識(shí)你知道嗎?

    嵌入式系統(tǒng)是一種專(zhuān)用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)R
    發(fā)表于 05-03 09:54 ?579次閱讀

    嵌入式fpga是什么意思

    嵌入式FPGA是指將FPGA技術(shù)集成到嵌入式系統(tǒng)的一種解決方案。嵌入式系統(tǒng)是一種為特定應(yīng)用而設(shè)
    的頭像 發(fā)表于 03-15 14:29 ?1260次閱讀

    fpga是嵌入式

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)不是嵌入式系統(tǒng),但FPGA嵌入式系統(tǒng)中有著重要的應(yīng)用。
    的頭像 發(fā)表于 03-14 17:19 ?2322次閱讀

    嵌入式系統(tǒng)發(fā)展前景?

    、舒適的生活體驗(yàn)。 工業(yè)自動(dòng)化和智能制造是嵌入式系統(tǒng)的重要應(yīng)用領(lǐng)域。未來(lái),隨著工業(yè)4.0的推進(jìn),嵌入式系統(tǒng)將更為廣泛地應(yīng)用于生產(chǎn)設(shè)備、機(jī)器人、自動(dòng)化流水線等,從而提高生產(chǎn)效率和質(zhì)量。
    發(fā)表于 02-22 14:09
    主站蜘蛛池模板: 手机看片91| 国产区精品高清在线观看| 91伊人网| 在线免费看黄| 看全色黄大色大片免费久久| 亚洲第一在线视频| 91拍拍在线观看| 色妹子综合| 一本到中文字幕高清不卡在线| avtom影院永久地址人人影院| 一级毛片aa| 国内自拍网红在综合图区 | 五月天久久婷婷| 4438x成人免费| 日本系列 1页 亚洲系列| 99pao在线视频精品免费| 性欧美极品另类| 手机在线看| 哪个网站可以看av| 欧美久操| 美女屁屁免费视频网站| 扒开双腿猛进入jk校视频| 激情婷婷六月| 国产美女视频黄a视频免费全过程 国产美女视频黄a视频全免费网站 | 202z欧美成人| 清纯唯美亚洲综合欧美色| 天堂在线最新版www中文| 情趣店上班h系列小说| 久久这里只有精品免费视频| 九九精品国产| 速度与激情在线| 欧美色综合网站| 日本黄色免费网站| 一级久久久| 91伊人久久大香线蕉| 亚洲一区高清| 精品久久久久久婷婷| 欧美一级淫片免费播放口| 三级天堂| 九草伊人| 色婷婷六月丁香七月婷婷|