新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > WinCE中基于XML的數據同步

        WinCE中基于XML的數據同步

        作者: 時間:2016-10-08 來源:網絡 收藏

        當前主流的嵌入式系統的操作系統(OS)包括WinCE、Palm等等,其中以Palm的歷史最為長久,但是以WinCE的普及推廣速度最快,操作最為靈活,應用最為廣泛,因此當前時期,大多數的用戶選擇WinCE作為當前嵌入式系統的操作系統。

        2.2.1.WinCE操作系統

        WinCE操作系統是嵌入式操作系統中的一種,為微軟所研制開發,包含WinCE、WinCE.NET、Windows XP Embedded等一系列的Mobile Windows家族。正迅速地為人們所接受。

        2.2.2.Compact .Net FrameWork

        隨著.NET開發平臺2003版的推出,微軟包容了嵌入式系統的開發,使得嵌入式系統的開發更為簡便更為容易。

        2.3.XML文件傳輸

        由于XML是一個文本類型的文件,因此具備跨平臺的能力,可以為UNIX、LINUX等非Windows平臺所接受,由于是文本類型的文件,因此傳輸方式可以多種多樣。比如使用存儲器進行傳輸,存儲器包括存儲卡、磁盤、磁帶等等存儲載體;也可以通過網絡下載復制的功能,比如通過有線或無線局域網,或者GPRS、Moden等等網絡載體;還可以通過紅外端口的發送接收文件的方式進行傳輸。

        3.實現方法

        由于是WinCE,因此可以使用Visual Studio .Net 2003版進行編程,利用Visual Studio .NET 2003版中帶的Compact .Net FrameWork,使所編制的程序可以運行在WinCE的嵌入式系統中。

        針對微軟的.NET計劃,相信不久的將來,Compact .Net FrameWork也可以運行到Palm等其它嵌入式系統中。

        3.1.PC端XML數據導出

        假設我們已經有了數據庫連接SQLconn,strSQL是待執行的SQL語句,則我們的PC端服務程序導出可以寫成如下方式。

        //初始化SqlDataAdapter

        System.Data.SqlClient.SqlDataAdapter myDataAdapter = new System.Data.SqlClient.SqlDataAdapter();

        //初始化SelectCommand ,其中strSQL為待執行的SQL語句,SQLconn為數據連接

        myDataAdapter.SelectCommand = new System.Data.SqlClient.SqlCommand(strSQL,SQLconn);

        //使用myDataAdapter初始化SqlCommandBuilder

        System.Data.SqlClient.SqlCommandBuilder myCB = new System.Data.SqlClient.SqlCommandBuilder (myDataAdapter);

        //初始化一個DataSet

        System.Data.DataSet DS = new System.Data.DataSet();

        //執行strSQL中的SQL指令,查詢結果填充到DS中

        myDataAdapter.Fill (DS);

        //從E:ExFromPC.XSD文件中導入XML架構

        DS.WriteXmlSchema(E:ExFromPC.XSD);

        //按照XML架構導出XML數據到E:ExFromPC.XML中

        DS.WriteXml(E:ExFromPC.XML);

        自此,XML文件已經導出完成,即可使用2.3所闡述的文件傳輸方式的任意一種傳輸到WinCE嵌入式系統中去。

        3.2.WinCE端數據導入

        //初始化DataSet

        System.Data.DataSet DS = new System.Data.DataSet();

        //初始化XML架構文件操作流

        FileStream FsXSD = new FileStream(ExFromPC.xsd,FileMode.Open);

        //初始化XML架構讀取設備

        XmlTextReader xtrXSD = new XmlTextReader(FsXSD);

        //載入XML架構到DS中

        DS.ReadXmlSchema(xtrXSD);

        //關閉XML架構讀取設備

        xtrXSD.Close();

        //關閉XML架構文件操作流

        FsXSD.Close();

        //按照裝載了的XML架構載入XML數據到DS

        DS.ReadXml(ExFromPC.XML);

        在載入完XML數據之后,即可通過種種方法把數據寫入到數據庫中,或交由其它方式處理,在此不再陳述。

        3.3.WinCE端數據導出

        //初始化DataSet

        System.Data.DataSet DS = new System.Data.DataSet();

        //初始化SqlCeDataAdapter

        System.Data.SqlServerCe.SqlCeDataAdapter myDataAdapter = new System.Data.SqlServerCe.SqlCeDataAdapter();

        //初始化SelectCommand ,其中conn是數據連接,p_strSQL待執行的SQL語句

        myDataAdapter.SelectCommand = new System.Data.SqlServerCe.SqlCeCommand(p_strSQL,conn);

        //初始化SqlCeCommandBuilder

        System.Data.SqlServerCe.SqlCeCommandBuilder myCB = new System.Data.SqlServerCe.SqlCeCommandBuilder(myDataAdapter);

        //加載映射的數據表名p_strTableNameTemp為數據表名

        myDataAdapter.TableMappings.Add(Table,p_strTableNameTemp);

        //把SQL語句執行結果寫入到DS中

        myDataAdapter.Fill (DS);

        //初始化XML架構文件操作流

        FileStream FsXSD = new FileStream(ExFromPC.xsd,FileMode.Open);

        //初始化XML架構讀取設備

        XmlTextReader xtrXSD = new XmlTextReader(FsXSD);

        //載入XML架構

        DS.ReadXmlSchema(xtrXSD);

        //關閉XML架構讀取設備

        xtrXSD.Close();

        //關閉XML架構文件操作流

        FsXSD.Close();

        //導出XML數據文件

        DS.WriteXml(ExFromPC.xml);

        自此,XML文件已經導出完成,即可使用2.3所闡述的文件傳輸方式的任意一種傳輸到PC中去。

        3.4.PC端XML數據導入

        //初始化架構文件操作流

        FileStream FsXSD = new FileStream(E:ExFromCE.XSD,FileMode.Open);

        //初始化XML數據文件操作流

        FileStream FsXML = new FileStream(E:ExFromCE.XML,FileMode.Open);

        //初始化DataSet

        System.Data.DataSet DS = new System.Data.DataSet();

        //初始化XML架構讀取設備

        XmlTextReader xtrXSD = new XmlTextReader(FsXSD);

        //載入XML架構

        DS.ReadXmlSchema(xtrXSD);

        //關閉XML架構讀取設備

        xtrXSD.Close();

        //關閉XML架構文件流



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 尉氏县| 绥芬河市| 滦平县| 元谋县| 思茅市| 宜丰县| 墨玉县| 婺源县| 唐河县| 扶风县| 宁波市| 灵石县| 青冈县| 宁德市| 龙海市| 建瓯市| 邹城市| 平江县| 宜川县| 涪陵区| 娄底市| 镇平县| 遂昌县| 二手房| 简阳市| 呼伦贝尔市| 铁岭市| 天水市| 揭阳市| 大庆市| 华池县| 慈利县| 密云县| 洛阳市| 东兴市| 同仁县| 房山区| 沈阳市| 婺源县| 广丰县| 扬中市|