999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SQLite在嵌入式系統Wince中的應用

2011-05-12 02:47:28郝繼飛
網絡安全與數據管理 2011年14期
關鍵詞:嵌入式設置數據庫

蔣 晶,郝繼飛,于 平

(中國礦業大學 信息與電氣工程學院,江蘇 徐州221008)

隨著科學技術的發展,嵌入式系統成為了科技發展的主要領域,Linus和Wince是比較常見的嵌入式系統。嵌入式開發過程離不開數據庫的應用,對于嵌入式數據庫的選擇是必要的。通常,嵌入式系統選擇的數據應該盡量小,SQLite[1]在Linux中的應用很廣泛,本設計介紹了SQLite作為一款小巧的嵌入式數據庫在Wince[2]中的應用實例。

1 SQLite數據庫的介紹與選擇

1.1 SQLite數據庫結構

SQLite數據庫結構圖如圖1所示。

1.2 SQlite數據庫的特點

SQLite是一個開源的嵌入式關系數據庫,結構緊湊,可靠性強[3]。有以下特點:

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

(2)占用很少的存儲器空間。SQLite完全獨立,數據庫引擎和應用程序在同一系統進程中,因此運行速度較高。

(3)支持ACID事務,在系統出現問題或電源斷電時不會出現數據丟失現象。

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

(5)支持多個嵌入式操作系統平臺,如Linux系統、Wince系統等。

2 SQlite的選擇

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

3 SQLite的應用硬件及軟件平臺

本文探討中以S3C2440作為處理器ARM9的硬件平臺,以Wince6.0為應用系統,支持.NET2.0平臺。在Visual Studio 2008軟件平臺中用 C#中編寫程序,但是在新建項目中選擇智能設備時要選擇.NET2.0平臺。在Visual Studio 2008中用C#編寫程序時,第一次使用時要添加引用System.Data.SQLite,在程序中添加using指令集,這樣可以通過軟件編寫程序實現建庫建表的功能。

4 SQLite在Wince中的應用實例

4.1 Wince中顯示數據的控件DataGrid及其屬性

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

4.2 SQLite建數據庫的步驟

SQLite 建數據庫的步驟如下:

(1)通過SQLiteConnection對數據庫進行連接[6],通過軟件建數據庫,首先要有數據源,如:

SQLiteConnectionconn=new SQLiteConnection("Data Source=\Program Files\maindata.db");

對數據庫要進行操作需要執行的命令,如SQLiteCommand cmd=new SQLiteCommand();

(2)每次使用數據庫前需要打開數據庫,還需要連接數據庫,關閉數據庫;

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

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

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

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

(5)數據庫至此建成,由于插入的時間單元格不能完全顯示,因此需要通過對圖2中標注有灰色背景的TableStyles進行設置[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);

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

4.3 Wince通過DataGrid屬性建數據庫的分析

DataGrid在應用于基于Wince的Windows mobile[7]智能設備時,主要針對DataGridTableStyle屬性進行設置[8]。根據應用于Windows mobile的原理對基于Wince的ARM9的嵌入式設備中建數據庫還是行不通。對其列的屬性進行操作設置仍然改變不了列的寬度,所以這種路徑行不通。試了很多種方法,最后通過軟件編程進行設置,得到了圖3的結果。比較DataGridTableStyl進行設置與軟件設置發現,問題在于表的MappingName與列的MappingName設置時,必須對應才能實現修改功能。用DataGridTableStyle設置,如果列的MappingName與數據庫中的建表的列不對應,則映射不存在,從而找不到網格去顯示數據,更無法對數據的列寬進行操作。所以通過軟件編程,可以對建在緩存區域中的每一張表中所有的列進行操作,解決文本過長不能完全顯示的問題。

通過上面的介紹可以看出,SQLite作為開源的嵌入式數據庫應用在Wince中的一個優點就是建表比較簡單,不像 SQL CE數據庫[9],在Wince運行中需要先創建表,把所建的數據庫放在Wince的系統中,添加數據源時再去綁定這個數據源。對于在.net2.0平臺建立的數據庫[10],添加數據源時無法找到路徑,所以這種方法不可行。通過SQLite軟件創建數據庫的方法則可以改善上述不足。SQLite作為一款小巧的嵌入式數據庫,發展前景很大,在基于ARM的Wince操作系統有著廣泛應用[11]。

[1]OWENS M.The definitive guide to SQLite[M].US:APress,2006.

[2]周毓林,寧陽,陸貴強,等.Windows CE.net內核定制及應用開發[M].北京:電子工業出版社,2005.

[3]萬瑪寧,關永,韓相軍.嵌入式數據庫典型技術SQLite和Berkeley DB 的研究[J].微計算機信息,2006,22(2):91-92.

[4]HENDERSON K.Transact-SQL權威指南[M].健蓮科技譯,北京:中國電力出版社,2002.

[5]An introduction to the SQLite C/C++interface[CP].http://www.sqlite.org/cintro.html.

[6]胡偉.SQLite在嵌入式系統上的實現研究[J].計算機與數字工程,2009,37(2):46-47.

[7]MierosoftWindowsMobile.http://www.mierosoft.eoInjwindowsmobile/default.msPx.

[8]劉彥博,胡硯,馬駭.WindowsMobile平臺應用與開發[M].北京:人民郵電出版社,2006.

[9]NEWMAN C.SQLite[M],USA:Sams,2004.

[10]ROB P.數據庫設計與開發教程[M].于書舉,許向眾,韓德強,等譯,北京:電子工業出版社,2002.

[11]鄧成中,黃惟公,萬松峰.基于嵌入式ARM&WinCE的小型監控系統的設計[J].微計算機信息,2005,21(23):47-49.

猜你喜歡
嵌入式設置數據庫
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
搭建基于Qt的嵌入式開發平臺
數據庫
財經(2017年2期)2017-03-10 14:35:35
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 五月婷婷伊人网| 九九精品在线观看| 免费一级毛片完整版在线看| 亚洲人成日本在线观看| 成人福利在线免费观看| 成人在线亚洲| 成人亚洲国产| AV不卡在线永久免费观看| 久久国产高清视频| 日本一区二区三区精品国产| 青青青草国产| 亚洲成aⅴ人在线观看| 中文国产成人久久精品小说| 四虎国产精品永久一区| 国产jizzjizz视频| 99999久久久久久亚洲| 99这里只有精品免费视频| 99re精彩视频| 亚洲欧美一区在线| 国产在线观看精品| 亚洲码在线中文在线观看| 国产高清在线精品一区二区三区| 亚洲Aⅴ无码专区在线观看q| 欧美激情,国产精品| 黄色网址手机国内免费在线观看| 青青久久91| 国产在线观看第二页| 九九热视频精品在线| 欧美视频在线播放观看免费福利资源| 欧美成人aⅴ| 亚洲欧美成人网| 99热这里只有精品在线观看| 中文字幕av一区二区三区欲色| 亚洲精品自拍区在线观看| 热热久久狠狠偷偷色男同| 免费又爽又刺激高潮网址 | 国产成人乱码一区二区三区在线| 91视频精品| 国产一区二区丝袜高跟鞋| 夜夜拍夜夜爽| 人妻丝袜无码视频| 欧美另类视频一区二区三区| 国产精鲁鲁网在线视频| 99国产精品国产高清一区二区| 亚洲中文字幕手机在线第一页| 99久久国产精品无码| 狠狠色香婷婷久久亚洲精品| 午夜精品一区二区蜜桃| 亚洲天堂精品在线| 人妻一本久道久久综合久久鬼色| 国产欧美日韩另类精彩视频| 久久毛片网| 2019年国产精品自拍不卡| 国产精品无码一区二区桃花视频| 综合五月天网| 人妻精品全国免费视频| 中文字幕在线看视频一区二区三区| 欧美色视频日本| 国产成人a在线观看视频| 91精品综合| 亚洲综合九九| 成人毛片在线播放| 欧美国产菊爆免费观看| 91国内在线观看| 国产99热| 亚洲中文字幕在线一区播放| yjizz视频最新网站在线| 成人小视频在线观看免费| 在线欧美一区| 国产高清又黄又嫩的免费视频网站| 国产精品久久久精品三级| 国产福利一区二区在线观看| 中文字幕久久波多野结衣| 国产视频自拍一区| 免费一极毛片| 中文字幕2区| 亚洲人成网站在线观看播放不卡| 一级毛片中文字幕| 美女亚洲一区| 91精品专区国产盗摄| 91综合色区亚洲熟妇p| 国产精品免费露脸视频|