chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

電子工程師 ? 來源:微型機(jī)與應(yīng)用蔣晶,郝繼 ? 作者:微型機(jī)與應(yīng)用蔣晶 ? 2021-03-31 10:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

2 SQlite的選擇

首先,SQL Server CE是Wince自身的數(shù)據(jù)庫,必須在Wince系統(tǒng)中安裝3個(gè)文件才能使用,而SQLite只需要在電腦上安裝SQlite-1.0.65.0,把生成的SQlite.Interop.065.DLL移植到Wince系統(tǒng)運(yùn)行的程序中,并在Visual Studio2008寫程序時(shí)添加一個(gè)引用即可,操作較簡單。其次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àng)目中選擇智能設(shè)備時(shí)要選擇.NET2.0平臺(tái)。在Visual Studio 2008中用C#編寫程序時(shí),第一次使用時(shí)要添加引用System.Data.SQLite,在程序中添加using指令集,這樣可以通過軟件編寫程序?qū)崿F(xiàn)建庫建表的功能。

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

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

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

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

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

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

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

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

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

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

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

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

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

(5)數(shù)據(jù)庫至此建成,由于插入的時(shí)間單元格不能完全顯示,因此需要通過對圖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);

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

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

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

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

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

編輯:jq

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

    關(guān)注

    5192

    文章

    20274

    瀏覽量

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

    關(guān)注

    2

    文章

    2280

    瀏覽量

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

    關(guān)注

    7

    文章

    4004

    瀏覽量

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

    關(guān)注

    0

    文章

    6

    瀏覽量

    10105
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么是嵌入式應(yīng)用開發(fā)?

    概述 所謂的嵌入式應(yīng)用開發(fā)就是嵌入式操作系統(tǒng)下進(jìn)行開發(fā)、軟硬件綜合開發(fā) ?嵌入式應(yīng)用開發(fā)?是指在嵌入
    發(fā)表于 01-12 16:13

    arm嵌入式主板優(yōu)缺點(diǎn)

    Windows CE、Linux等主流的嵌入式操作系統(tǒng)。   ARM的優(yōu)點(diǎn)   一、高可靠性、高穩(wěn)定性:工業(yè)控制領(lǐng)域,性能穩(wěn)定可靠是自動(dòng)控制基本的要求,ARM嵌入式主板有著很特殊
    發(fā)表于 01-08 07:08

    C語言嵌入式開發(fā)的應(yīng)用

    C 語言汽車電子控制系統(tǒng)開發(fā)的主導(dǎo)地位。 2、設(shè)備驅(qū)動(dòng)程序 設(shè)備驅(qū)動(dòng)程序是嵌入式系統(tǒng)
    發(fā)表于 11-21 08:09

    嵌入式系統(tǒng)的定義和應(yīng)用領(lǐng)域

    嵌入式系統(tǒng),簡而言之,就是一種專為特定設(shè)備或裝置設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)。它們通常配備一個(gè)嵌入式處理器,其控制程序被存儲(chǔ)ROM
    發(fā)表于 11-17 06:49

    嵌入式實(shí)時(shí)操作系統(tǒng)的特點(diǎn)

    任務(wù)的系統(tǒng)。 實(shí)時(shí)嵌入式操作系統(tǒng)與傳統(tǒng)的桌面操作系統(tǒng)相比,更注重對實(shí)時(shí)任務(wù)的響應(yīng)和精確控制。它們資源利用、可靠性、可預(yù)測性、任務(wù)調(diào)度和中斷
    發(fā)表于 11-13 06:30

    嵌入式電力儀表配電系統(tǒng)的應(yīng)用與選型

    現(xiàn)代配電系統(tǒng),對電力參數(shù)的精確測量、電能計(jì)量以及設(shè)備運(yùn)行狀態(tài)的可靠監(jiān)控,是保障供電安全、實(shí)現(xiàn)能效管理的基礎(chǔ)。各類嵌入式電力儀表作為關(guān)鍵測量元件,廣泛應(yīng)用于進(jìn)線柜、出線柜等場景,為
    的頭像 發(fā)表于 09-26 09:37 ?552次閱讀
    <b class='flag-5'>嵌入式</b>電力儀表<b class='flag-5'>在</b>配電<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的應(yīng)用與選型

    Java 物聯(lián)網(wǎng)與嵌入式系統(tǒng)的應(yīng)用前景與挑戰(zhàn)

    的生態(tài)系統(tǒng)和強(qiáng)大的社區(qū)支持,Java 智能家居、工業(yè)控制、可穿戴設(shè)備等場景展現(xiàn)出獨(dú)特優(yōu)勢。本文將探討 Java 嵌入式與物聯(lián)網(wǎng)
    的頭像 發(fā)表于 09-04 14:49 ?838次閱讀

    是德示波器MSOX3052T嵌入式系統(tǒng)的應(yīng)用

    現(xiàn)代電子系統(tǒng)設(shè)計(jì),嵌入式系統(tǒng)已成為智能設(shè)備與物聯(lián)網(wǎng)的核心。面對日益復(fù)雜的硬件架構(gòu)與軟件算法,調(diào)試工具的性能直接決定了產(chǎn)品開發(fā)周期與最終可
    的頭像 發(fā)表于 08-27 17:38 ?597次閱讀
    是德示波器MSOX3052T<b class='flag-5'>在</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的應(yīng)用

    嵌入式單片機(jī)電機(jī)控制系統(tǒng)的應(yīng)用

    長時(shí)間處于良好的工作狀態(tài),其穩(wěn)定性也得到了顯著的提升。嵌入式單片機(jī)電機(jī)控制系統(tǒng)的應(yīng)用可以分為軟件應(yīng)用和硬件應(yīng)用,硬件提供基本的物理框架支撐,軟件提供基本的信息、數(shù)據(jù)處理渠道,也只有
    發(fā)表于 06-11 15:07

    Python嵌入式系統(tǒng)的應(yīng)用場景

    你想把你的職業(yè)生涯提升到一個(gè)新的水平?Python嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開發(fā)更多地依賴于C和C++語言,Python的優(yōu)勢在于其簡潔的語法、豐富的
    的頭像 發(fā)表于 03-19 14:10 ?1356次閱讀

    泰克MDO32示波器嵌入式系統(tǒng)調(diào)試的關(guān)鍵技術(shù)分析

    高性能的混合域示波器,嵌入式系統(tǒng)調(diào)試中發(fā)揮著關(guān)鍵作用。本文將深入分析泰克MDO32示波器嵌入式系統(tǒng)
    的頭像 發(fā)表于 03-19 13:51 ?751次閱讀
    泰克MDO32示波器<b class='flag-5'>在</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>調(diào)試<b class='flag-5'>中</b>的關(guān)鍵技術(shù)分析

    嵌入式系統(tǒng)的代碼優(yōu)化與壓縮技術(shù)

    。開發(fā)人員在編寫代碼時(shí),應(yīng)注重代碼的模塊化和復(fù)用性,避免不必要的重復(fù)代碼編寫。 嵌入式系統(tǒng)的代碼優(yōu)化與壓縮技術(shù)相輔相成,通過合理運(yùn)用各種優(yōu)化策略和壓縮技術(shù),開發(fā)人員能夠在有限的資源條件下,打造出高性能、低成本且功能豐富的
    發(fā)表于 02-26 15:00

    iic協(xié)議嵌入式系統(tǒng)的功能

    現(xiàn)代電子設(shè)備嵌入式系統(tǒng)的設(shè)計(jì)越來越復(fù)雜,需要集成更多的功能和外設(shè)。I2C協(xié)議因其簡單性、靈活性和高效性,
    的頭像 發(fā)表于 02-05 11:40 ?1141次閱讀

    數(shù)字電路嵌入式系統(tǒng)的應(yīng)用

    隨著科技的迅猛發(fā)展,嵌入式系統(tǒng)已經(jīng)成為現(xiàn)代電子產(chǎn)品不可或缺的一部分。從簡單的家用電器到復(fù)雜的工業(yè)控制系統(tǒng),嵌入式系統(tǒng)無處不在。數(shù)字電路作為
    的頭像 發(fā)表于 01-24 09:41 ?1299次閱讀

    CPLD 嵌入式系統(tǒng)的應(yīng)用

    現(xiàn)代電子設(shè)計(jì)領(lǐng)域,復(fù)雜可編程邏輯器件(CPLD)因其靈活性、成本效益和快速開發(fā)周期而在嵌入式系統(tǒng)扮演著重要角色。 1. CPLD簡介 CPLD是一種集成電路,其內(nèi)部包含可編程邏輯塊
    的頭像 發(fā)表于 01-23 09:50 ?1993次閱讀