![基于手機短信平臺聊天程序的設(shè)計與實現(xiàn)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/f19699cd-1dea-4292-9fb4-a22f515e6188/f19699cd-1dea-4292-9fb4-a22f515e61881.gif)
![基于手機短信平臺聊天程序的設(shè)計與實現(xiàn)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/f19699cd-1dea-4292-9fb4-a22f515e6188/f19699cd-1dea-4292-9fb4-a22f515e61882.gif)
![基于手機短信平臺聊天程序的設(shè)計與實現(xiàn)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/f19699cd-1dea-4292-9fb4-a22f515e6188/f19699cd-1dea-4292-9fb4-a22f515e61883.gif)
![基于手機短信平臺聊天程序的設(shè)計與實現(xiàn)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/f19699cd-1dea-4292-9fb4-a22f515e6188/f19699cd-1dea-4292-9fb4-a22f515e61884.gif)
![基于手機短信平臺聊天程序的設(shè)計與實現(xiàn)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/f19699cd-1dea-4292-9fb4-a22f515e6188/f19699cd-1dea-4292-9fb4-a22f515e61885.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Anhui Vocactional & Technical College of Industry & Trade畢畢 業(yè)業(yè) 論論 文文基于手機短信平臺聊天程序的設(shè)基于手機短信平臺聊天程序的設(shè)計與實現(xiàn)計與實現(xiàn)The design and implementation of chat program based on mobile phone SMS platform 所在系院: 計算機系 專業(yè)班級: 計算機數(shù)字媒體班 學生學號: 2014030320 學生姓名: 余率 指導教師: 商杰 年 月 日Anhui Vocactional & Technical College
2、 of Industry & Trade畢畢業(yè)業(yè)設(shè)設(shè)計計說說明明書書基于手機短信平臺聊天程序的設(shè)基于手機短信平臺聊天程序的設(shè)計與實現(xiàn)計與實現(xiàn)The design and implementation of chat program based on mobile phone SMS platform 所在系院: 計算機系 專業(yè)班級: 計算機數(shù)字媒體班 學生學號: 2014030320 學生姓名: 余率 指導教師: 商杰 年 月 日基于手機短信平臺聊天程序的設(shè)計與實現(xiàn)基于手機短信平臺聊天程序的設(shè)計與實現(xiàn)摘要摘要 本文介紹了在.NET2005 平臺上,通過 Pocket PC 模擬器,在
3、PC 機上模擬手機短信息的發(fā)送和接收過程。系統(tǒng)使用 SQL Server CE 和 SQL Server 2000 數(shù)據(jù)庫來存儲數(shù)據(jù),同時利用 ADO.NET 數(shù)據(jù)庫訪問技術(shù)和使用 VB.NET 編程語言。在對遠程數(shù)據(jù)庫進行訪問時使用了 RDA 的技術(shù)。系統(tǒng)通過引用 System.Data.SqlServerCe 組件在 Pocket PC 2003 模擬器上創(chuàng)建本地 SQL Server CE 數(shù)據(jù)庫 AccessMsg.sdf 和表 MsgInfo,該表具有保存用戶 ID 和信息的功能。通過在 Pocket PC 寫入數(shù)據(jù),能夠保存在本地 SQL Server CE 數(shù)據(jù)庫中。通過 RDA
4、 同步技術(shù)中的 PULL 和 PUSH 兩個操作將數(shù)據(jù)保存到在遠程數(shù)據(jù)庫中。該系統(tǒng)能較清晰的展示智能手機短信息通信原理因此達到設(shè)計的目的。關(guān)鍵詞關(guān)鍵詞 : : 智能手機 ;SQL Server CE ;ADO.NET The design and implementation of chatting program based on mobile platform Abstract :The papers introduced the .NET2005 platform, Pocket PC simulator on the PC simulation of the cellular phon
5、e short message sending and receiving process. The system uses SQL Server CE and SQL Server 2000 database to store data the meanwhile using ADO.NET database access technology VB.NET programming languages .In the Remote Database visit the RDA to use the technology.The system components by reference S
6、ystem.Data.SqlServerCe had to created Local SQL Server CE database AccessMsg.sdf and table MsgInfo in the Pocket PC 2003 Simulator .The table preservation user ID and information functions .The Pocket PC through the written data can be stored in local SQL Server CE databases and RDA synchronization
7、through the use of technology for the PULL and PUSH operation saved data to the remote database .The system can display clearer cell phone short message communication principle therefore achieve the purpose of the design . Key words: Smartphone; SQL Server CE; ADO.NET; 目目 錄錄 摘要 Abstract 引言11 1.1課題背景
8、.11.2國內(nèi)外研究現(xiàn)狀.11.3本課題研究方法.11.3.1 開發(fā)平臺 Visual Studio .NET.21.3.2SQL Server CE 數(shù)據(jù)庫.21.3.3C/S結(jié)構(gòu).3 第一章 系統(tǒng)需求分析.41.1功能需求.41.2性能需求.41.3環(huán)境需求.51.4用戶界面需求.5 第二章第二章 系統(tǒng)主體設(shè)計.52.1主體設(shè)計思路.52.2設(shè)計結(jié)構(gòu).62.2.1系統(tǒng)功能模塊結(jié)構(gòu).72.2.2系統(tǒng)數(shù)據(jù)庫設(shè)計.8 第三章第三章 系統(tǒng)實現(xiàn).9 3.1程序設(shè)計語言.9 3.2開發(fā)環(huán)境搭建.932.1配置SQL Server 2000數(shù)據(jù)庫.93.2.2安裝及配置SQL Server CE.9 3
9、.3創(chuàng)建本地設(shè)備上的數(shù)據(jù)庫.10 3.4系統(tǒng)設(shè)計代碼.113.3.1本地數(shù)據(jù)庫訪問.113.3.2遠程數(shù)據(jù)訪問.15 第四章第四章 測試和結(jié)果.16 4.1測試.16 4.2結(jié)果.17結(jié)論.18致謝.19參考文獻.20第 0 頁 共 20 頁引言引言1.1 課題背景課題背景移動智能設(shè)備,智能信息管理,多媒體信息交流正成為未來移動通信發(fā)展的方向和通信技術(shù)進步的潮流。無線移動設(shè)備結(jié)合了手機通信和 PDA 功能更成為現(xiàn)代移動設(shè)備的發(fā)展方向。這種發(fā)展方向意味著無線通信業(yè)和 IT 行業(yè)正在進入融合和相互的創(chuàng)新。一種整合了手機通信平臺和 PDA 平臺的代表現(xiàn)在潮流的移動電話正在普及和發(fā)展。人們將這種融合的
10、產(chǎn)品統(tǒng)稱為智能手持設(shè)備(Smart Handheld Device,簡寫為 SHD)也稱為掌上智能手機。更多時候 SHD 被賦予一個更為大家了解和接受的名字 Smart Phone(智能電話) 。智能手機包括娛樂和商務(wù)兩大功能,特別是其商務(wù)功能。智能移動信息終端提供了先進的集個人通信,個人信息管理,互聯(lián)網(wǎng)接入等一體化功能。其中 Symbian,Windows CE,Plam,Linux 是智能手機的四大操作系統(tǒng),我們目前最常使用的 Windows CE主要分為 Pocket PC 和 Smart Phone 系列兩種。通常 Pocket PC 并不是單一的手機操作系統(tǒng),但是可以通過改造和整合后
11、,可用與多款手機如大顯CU9288,多普達 M700,廈新 M696。在提到智能手機的操作系統(tǒng),就不得不涉及到智能手機的開發(fā)平臺。目前,智能手機的開發(fā)平臺主要有 JAVA,BREW 和.NET。其中.NET 框架是一個用于生成,部署,運行 XML Web 服務(wù)及其他應(yīng)用程序的環(huán)境。它包含三個主要部分:公共語言運行庫,框架類和 ASP.NET。在.NET 中有一套編程接口,用于開發(fā)者對智能手機和 PDA 的開發(fā)。.NET 技術(shù)是為人所用,并不是強制個人適應(yīng)起計算機的限制。利用.NET,無論什么時候,什么地方都能對你設(shè)備上的信息進行管理,對遠程的數(shù)據(jù)進行訪問。1.2 國內(nèi)外研究現(xiàn)狀國內(nèi)外研究現(xiàn)狀通
12、過對文獻和資料的整理查閱,國內(nèi)對 Pocket PC 的研究和實踐正是起步時期,但成績較為顯著。很多國內(nèi)智能手機開發(fā)商都在利用相關(guān)技術(shù)對該系統(tǒng)進行開發(fā)并將此運用到實踐和商業(yè)環(huán)境中。在國外已經(jīng)發(fā)展的相當成熟,也將此技術(shù)更多的使用在 3G 通信中,更能體現(xiàn)出智能手機的人性化,智能話,開放化。1.3 本課題研究方法本課題研究方法.1 開發(fā)平臺開發(fā)平臺 VisualVisual StudioStudio .NET.NETVisual Studio .NET 的 Smart Device Programmability(SDP)功能(以前稱作 Smart Device Extension
13、sSDE)可以幫助開發(fā)人員利用 Microsoft NET Compact Framework 編寫移動應(yīng)用程序,從而在連接或短開外部設(shè)備的情況下第 1 頁 共 20 頁啟用分布式的移動計算。使用.NET Compact Framework 中提供的大量類庫,開發(fā)者編寫程序的速度得到很大的提高,使用 Visual Studio .NET2005,開發(fā)者可以在桌面系統(tǒng)中用到的相同工具和技術(shù)來開發(fā) Pocket PC 2003(具備相應(yīng)的SDK)以及 Smart Phone2003。它將安裝.NET Compact Framework,這是專門為資源有限的設(shè)備設(shè)計的。開發(fā)者可以使用 C#語言或者
14、Visual Basic.NET 語言來開發(fā)移動和嵌入式設(shè)備。除此之外它還能很好的應(yīng)用于 XML Web Service 或ADO.NET 的應(yīng)用程序。1.3.2 SQL Server CE 數(shù)據(jù)庫數(shù)據(jù)庫Microsoft SQL Server 2000 Windows CE Edition(SQL Server CE)2.0 版是精簡的數(shù)據(jù)庫,Microsoft SQL Server 擴展到基于 Windows CE 的移動設(shè)備,并將開發(fā)者的快速應(yīng)用程序開發(fā)提供一個一致的編程模型。SQL Server CE 不同于 Windows CE 操作系統(tǒng)本身的屬性數(shù)據(jù)庫,它是一個真正意義上的關(guān)系數(shù)據(jù)
15、庫,它具有強大的數(shù)據(jù)存儲功能,優(yōu)化查詢處理器,以及可靠,可伸縮的連接能力。SQL Server CE 的引擎提供了關(guān)系型數(shù)據(jù)庫的基本功能。遠程數(shù)據(jù)訪問和合并復制,確保 SQL Server 數(shù)據(jù)庫中的數(shù)據(jù)不僅可以可靠的提交給用戶,而且能夠離線修改并在以后的時間內(nèi)與服務(wù)器進行數(shù)據(jù)同步。SQL Server CE2.0 還包括新的特性。使用 SDE 處理數(shù)據(jù)與通過 eMbedded Visual Basic 處理數(shù)據(jù)的差別很大。如果采用 eMbedded Visual Basic,可以使用兩種類型的數(shù)據(jù)庫Pocket Access 和 SQLCE。許多的開發(fā)者選擇使用 Pocket Access,
16、因為它容易實現(xiàn),而且與 Microsoft Access 相集成。而 SDE 只支持 SQLCE 在 eMbedded Visual Basic 中,你具有 ADOCE。SDE 提供 ADO.NET。SQL Server 遠程數(shù)據(jù)訪問:遠程數(shù)據(jù)訪問(RDA)為 Pocket PC 應(yīng)用程序提供了功能強大而簡單的方法,來訪問位于遠程的 SQL Server 2000 或者 SQL Server 7.0 數(shù)據(jù)庫中的 SQL Server 數(shù)據(jù)。不論 Pocket PC 是連續(xù)還是間歇地連接到 SQL Server 系統(tǒng),均可使用 RDA。應(yīng)用程序以兩種方式使用 RDA:一種是應(yīng)用程序提交數(shù)據(jù)操作語
17、言(DML)語句,該語句被轉(zhuǎn)交到 SQL Server 服務(wù)器上執(zhí)行。另一種是應(yīng)用程序提供返回查詢結(jié)果集的 SQL 查詢語句。查詢結(jié)果集被返回給 Pocket PC 設(shè)備,并以數(shù)據(jù)庫表的形式存儲在 SQL Server CE 數(shù)據(jù)庫里。RDA 能跟蹤 Pocket PC 應(yīng)用程序所做的所有更改。RDA 使用 Microsoft Internet 信息服務(wù)(IIS)的身份驗證,授權(quán)和加密服務(wù)。1.3.3 C/S 結(jié)構(gòu)結(jié)構(gòu)C/S (Client/Server)結(jié)構(gòu),即大家熟知的客戶機和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配第 2 頁 共 20 頁到
18、Client 端和 Server 端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是 Client/Server 形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的 Web 應(yīng)用發(fā)展,Web 和 Client/Server 應(yīng)用都可以進行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。傳統(tǒng)的 CS 體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應(yīng)用中無論是 Client 端,還是Server 端都還需要特定的軟件支持。由于沒能提供用
19、戶真正期望的開放環(huán)境,C/S 結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件, 加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺電腦以上局域網(wǎng)用戶同時使用。而且代價高,效率低。第 3 頁 共 20 頁第第 1 1 章章 系統(tǒng)需求分析系統(tǒng)需求分析1. 1 功能需求功能需求綜合運用所學知識開發(fā)一種基于 PC 機的手機短信通信系統(tǒng),側(cè)重在于模擬手機短信通信的過程。通過在客戶端輸入信息能夠訪問本地數(shù)據(jù)庫,即在本地數(shù)據(jù)庫 SQLCE 上能查看信息;通過 RDA 的技術(shù),執(zhí)行 PULL 操作(從遠程數(shù)據(jù)庫服務(wù)器接受數(shù)據(jù))和 PUSH 操作(向遠程數(shù)據(jù)庫服務(wù)器發(fā)送信息)訪問遠程數(shù)據(jù)庫??蛻舳思茨M器應(yīng)用功
20、能需求:對數(shù)據(jù)和信息的添加,刪除功能:完成對用戶 ID,發(fā)送和接收信息的添加,刪除。對信息的發(fā)送和接收功能:完成對信息的發(fā)送和接收,訪問本地數(shù)據(jù)庫和遠程數(shù)據(jù)庫。用戶可以在 Pocket PC 完成和手機上同樣的操作,向 Pocket PC 中輸入接收方 ID 和信息,通過 RDA 技術(shù)將用戶的信息發(fā)送到遠程服務(wù)器上,同樣也可以從遠程服務(wù)器上接收信息。Pocket PC 上存儲數(shù)據(jù)實際上是對本地數(shù)據(jù)庫 SQLCE 的操作,通過按鈕控件把相關(guān)的信息存儲到本地數(shù)據(jù)庫中,用戶 ID,信息,用戶名,同樣也可以刪除本地數(shù)據(jù)庫里的信息。Pocket PC 對遠程數(shù)據(jù)庫的訪問需要使用 RDA 的同步技術(shù),運用
21、 PULL 和PUSH 操作分別從遠程的服務(wù)器接收數(shù)據(jù)和向遠程服務(wù)器發(fā)送數(shù)據(jù)。服務(wù)器端即 SQL Server 2000 數(shù)據(jù)庫的功能需求:保存和接收用戶 ID,用戶名,信息。為方便開發(fā)者可以使用 SQL Server 查詢語言,查詢數(shù)據(jù)庫中保存的數(shù)據(jù),可通過使用 SQL 語句完成對遠程數(shù)據(jù)庫的操作。該功能可以方便開發(fā)者修改數(shù)據(jù)庫中的數(shù)據(jù),使遠程數(shù)據(jù)庫擁有更大的拓展性。通過完善遠程數(shù)據(jù)庫的存儲能力從而達到對 Pocket PC 離線開發(fā)的更大功能。1.2 性能需求性能需求該設(shè)計最大存儲容量為用戶存儲容量和信息存儲容量。用戶存儲容量中包含了用戶 ID(即手機號碼)和姓名,其容量允許用戶隨時添加和
22、刪除存儲信息,但用戶存儲容量最高為 50 個字符,信息存儲容量為 100 個字符。該設(shè)計由于是在 PC 機上模擬 PPC 通信,其運行的時間受其搭建的系統(tǒng)平臺環(huán)境的影響(主要是開發(fā)機的硬件環(huán)境影響)。一般從程序調(diào)試運行到模擬器第 4 頁 共 20 頁部署成功要花 2 至 3 分鐘時間。安全性方面由于系統(tǒng)平臺搭建時均采用默認值,因此在使用該系統(tǒng)時不會存在使用過程中的保密限制。任何用戶只要在系統(tǒng)正常情況下都可使用。當程序運行中同時要考慮網(wǎng)絡(luò)環(huán)境的配置。如果網(wǎng)絡(luò)出現(xiàn)問題,Pocket PC可以正常訪問 SQLCE 本地數(shù)據(jù)庫,而暫時不能訪問 SQL Server 2000 遠程數(shù)據(jù)庫,信息將保存暫時
23、保存在 SQLCE 本地數(shù)據(jù)庫上。在 RDA 訪問遠程數(shù)據(jù)庫中是一種樂觀的同步訪問方式,但當發(fā)生沖突或錯誤的時候,需要開發(fā)者手動維護數(shù)據(jù)完整性。在此情況下可用合并復制的技術(shù)完成對設(shè)備的同步訪問。1.3 環(huán)境需求環(huán)境需求該設(shè)計完成需要硬件環(huán)境和軟件環(huán)境的支持。(1) 硬件環(huán)境:主機上采用一般的個人 PC,其硬件核心在于處理器和內(nèi)存,硬盤有效空間在 4G 以上。(2) 軟件環(huán)境:操作系統(tǒng)為 Windows Server 2003 ;在網(wǎng)絡(luò)環(huán)境上另需安裝 IIS 信息服務(wù)器;數(shù)據(jù)庫為 SQL Server 2000 sp4 和 SQL Server 2000 Windows CE Edition 2
24、.0(SQL Server CE),開發(fā)工具為 Visual Studio.NET2005。1.4 界面需求界面需求為使該設(shè)計可行,可靠,其界面設(shè)計要求簡單,方便,且具有人性化的操作界面,系統(tǒng)功能可以良好的功能按鈕相結(jié)合。使用 Send,accept,添加,刪除四個按鈕控制相關(guān)的功能;TextBox 控件用來分別顯示信息和用戶 ID,用戶名。整個界面簡單,醒目,且有效。第二章第二章 系統(tǒng)主體設(shè)計系統(tǒng)主體設(shè)計2. 1 主體設(shè)計思路主體設(shè)計思路本系統(tǒng)主要使用 SQL Server CE 數(shù)據(jù)庫和 SQL Server 2000 數(shù)據(jù)庫,通過引用 System.Data.SqlServerCe 組件
25、創(chuàng)建 SqlConnection 實例利用代碼在Pocket PC 2003 模擬器上創(chuàng)建本地數(shù)據(jù)庫表:MsgInfo。對遠程 SQL Server 2000 數(shù)據(jù)庫的訪問通過 RDA 技術(shù)需要 System.Data.SqlClient 的引用完成 PULL操作和 PUSH 操作。在對 Pocket PC 上存儲數(shù)據(jù)實際上是對本地數(shù)據(jù)庫的操作,通過代碼在編輯環(huán)境中創(chuàng)建出本地數(shù)據(jù)庫 AccessMsg.sdf,該數(shù)據(jù)庫是個精簡版的 SQL Server 數(shù)據(jù)庫,同樣是個關(guān)系型數(shù)據(jù)庫,同時通過代碼在 SQLCE 中創(chuàng)建表MsgInfo,表中列屬性為用戶 ID(SendID,AcceptID)和
26、Message,分別用來存儲第 5 頁 共 20 頁用戶信息和發(fā)送接收的信息。整個系統(tǒng)的開發(fā)除了建立數(shù)據(jù)庫外,在實現(xiàn)功能代碼上要創(chuàng)建一個SQLCECF 的實例。使數(shù)據(jù)庫能夠支撐整個系統(tǒng)功能實現(xiàn)。在 Pocket PC 上其界面設(shè)計思路是盡量簡單,但能滿足系統(tǒng)需求??丶系脑O(shè)計簡潔,明了。使模擬器和真實的手機操作界面相似,到達界面設(shè)計的需求。在發(fā)送端的模擬器上顯示接收端的 ID 和 Message,在接收端的模擬器上顯示發(fā)送端的 ID 和同樣的 Message,使模擬器功能上和真實手機一致。在實現(xiàn)對遠程數(shù)據(jù)庫 SQL Server 2000 訪問時主要采用 RDA 的同步技術(shù)。運用 PULL 和
27、 PUSH 操作分別從遠程的服務(wù)器接收數(shù)據(jù)和向遠程服務(wù)器發(fā)送數(shù)據(jù)。在運用 RDA 時由于是一種樂觀的訪問方式,而沒有考慮系統(tǒng)環(huán)境存在的沖突,當訪問不成功時,數(shù)據(jù)會暫時保存在本地數(shù)據(jù)庫中,其實質(zhì)也是對本地數(shù)據(jù)庫的操作。當系統(tǒng)環(huán)境通暢后再一次對數(shù)據(jù)進行 PULL 和 PUSH 操作就能訪問遠程數(shù)據(jù)庫。系統(tǒng)整體運行模式:通過一臺 Pocket PC 向另一臺 Pocket PC 傳送信息,首先發(fā)送方將信息寫入 Pocket PC 中即完成對發(fā)送方本地數(shù)據(jù)庫的操作,在通過 PUSH 操作向遠程數(shù)據(jù)庫中發(fā)送數(shù)據(jù),接收方再通過 PULL 操作從遠程數(shù)據(jù)庫接受數(shù)據(jù),此時信息將保存在接收方本地數(shù)據(jù)庫中,通過相
28、應(yīng)的查詢操作完成對接收方本地數(shù)據(jù)庫的訪問。同時需要考慮此傳輸過程是一種樂觀的傳輸過程。2.2 設(shè)計結(jié)構(gòu)設(shè)計結(jié)構(gòu)系統(tǒng)設(shè)計結(jié)構(gòu)圖和 RDA 功能結(jié)構(gòu)圖如圖 1,圖 2 所示智能通訊設(shè)備智能通訊設(shè)備SQL Server CESQL Server CESQL Server 2000圖 1 系統(tǒng)結(jié)構(gòu)圖第 6 頁 共 20 頁 第 7 頁 共 20 頁 圖 2 RDA 功能系統(tǒng)結(jié)構(gòu)圖2.2.1 系統(tǒng)功能模塊結(jié)構(gòu)系統(tǒng)功能模塊結(jié)構(gòu)系統(tǒng)總體功能模塊如圖 3 所示:短信通信系統(tǒng) 圖 3 系統(tǒng)功能模塊(1)發(fā)送方包含了接收方的 ID 號和待發(fā)信息,接收方的 ID 號以列表的方式展現(xiàn)在發(fā)送方。(2)接收方包含了發(fā)送方
29、的 ID 號和接收信息(即發(fā)送方發(fā)出的信息) 。(3)發(fā)送方通過模擬器軟件盤寫入信息,通過添加刪除功能完成信息寫入與發(fā)送。(4)通過 RDA 技術(shù)可以訪問在遠程 SQL Server 2000 數(shù)據(jù)庫中表內(nèi)信息。發(fā)送方接收方信 息接收方 ID發(fā)送方 ID信 息第 8 頁 共 20 頁2.2.2 系統(tǒng)數(shù)據(jù)庫設(shè)計系統(tǒng)數(shù)據(jù)庫設(shè)計在 SQL Server 2000 企業(yè)管理器中創(chuàng)建數(shù)據(jù)庫 mysqlce 和表 MsgInfo1(如表 1)所示 表 1 數(shù)據(jù)庫表 MsgInfo1使用 SQLCE 通過代碼在智能設(shè)備 Pocket PC 2003 上創(chuàng)建數(shù)據(jù)庫AccessMsg.sdf 和表 Ppc1(如
30、表 2,圖 4 所示) 表 2 本地數(shù)據(jù)庫表 Ppc1圖 4 Pocket PC 上創(chuàng)建的本地數(shù)據(jù)庫列 名類 型長 度特 性SendIDnvarchar50NOT NULLAcceptIDnvarchar50NOT NULLMessagenvarchar100 NULLDateTimetime8NOT NULL列 名類 型長 度特 性SendIDnvarchar50NOT NULLAccepterIDnvarchar50NOT NULLMessagenvarchar100NULL第 9 頁 共 20 頁第三章第三章 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn)3.1 程序設(shè)計語言程序設(shè)計語言Visual Basic.NE
31、T 是新一代的 Visual Basic 語言,它是一種簡便快捷地創(chuàng)建.NET 應(yīng)用程序(包括 XML Web services 和 ASP.NET.Web 應(yīng)用程序)的語言 Visual Basic.NET 具有許多新的功能和改進功能(如繼承,接口和重載),這使 Visual Basic.NET 成為功能強大的面向?qū)ο蟮木幊陶Z言,其他新的語言功能包括自由線程處理和結(jié)構(gòu)化異常處理。Visual Basic.NET 還完全集成了.NET Framework 和公共語言運行苦,.NET Framework 和公共語言運行庫,共同提供語言互操作性,垃圾回收,增強的安全符合性和改進的版本支持。Visu
32、al Basic 開發(fā)者現(xiàn)在可以使用顯示多線程處理創(chuàng)建多線程可伸縮的應(yīng)用程序。Visual Basic.NET 中其他的新語言功能包括結(jié)構(gòu)化異常處理,自定義屬性和符合公共語言規(guī)范(CLS)。CLS 是對諸如數(shù)據(jù)類型之類的事物以及對象的公開和交互操作方式進行標準化的一組規(guī)則。Visual Basic.NET 添加了幾項利用 CLS 優(yōu)勢的功能,任何符合 CLS 的語言都可以使用在 Visual Basic.NET 中創(chuàng)建的類,對象和組件。Visual Basic 用戶可以從其他符合 CLS 的編程語言訪問類,組件和對象,而不用擔心諸如數(shù)據(jù)類型之類的語言特定的差異,Visual Basic.NET
33、 程序使用的CLS 功能包括程序集,命名空間和屬性。Visual Basic.NET 支持許多新的或改進的面向?qū)ο笳Z言功能,如重載,繼承,Overrides 關(guān)鍵字,接口,共享成員和構(gòu)造函數(shù),還包括結(jié)構(gòu)化異常處理,委托以及幾個新的數(shù)據(jù)類型。3.2 開發(fā)環(huán)境搭建開發(fā)環(huán)境搭建3.2.1 配置配置 SQL Server 2000 數(shù)據(jù)庫數(shù)據(jù)庫安裝使用設(shè)備上的移動數(shù)據(jù)庫,首先要安裝 SQL Server,因為使用 SQL Server 可以進行遠程數(shù)據(jù)訪問(RDA)和合并復制兩種方式的同步數(shù)據(jù)。RDA 訪問功能支持與 SQL Server7.0(和更高版本)數(shù)據(jù)庫的連接,合并復制則要求后端必須是 SQ
34、L Server 2000。這里選擇 SQL Server 2000 安裝,同時為下步安裝 SQL Server CE 做準備,要先安裝 SQL Server 2000 升級補丁包 SQL Server PackSP4。在選擇驗證模式時選擇混合模式。3.2.2 安裝及配置安裝及配置 SQL Server CE下載最新自解壓包 sqlce20sql2ksp4 和 sqlce2.0 安裝文件,即可將 SQL Server CE(SSCE)數(shù)據(jù)庫安裝在開發(fā)用的 PC 機上(即服務(wù)器名 9PYAC859FD7PXWY)。如果僅僅創(chuàng)建本地數(shù)據(jù)庫,則選擇(Development Tools)安裝即可;要使
35、用第 10 頁 共 20 頁SQL Server CE 的遠程數(shù)據(jù)訪問(RDA)和復制技術(shù),除了安裝以上外,還需要選擇(Server Tools)安裝。安裝 SQL Server CE 2.0 服務(wù)器工具程序,通過在運行 IIS 的計算機上運行 SQL Server CE 服務(wù)器工具安裝程序之一,自動安裝 SQL Server CE 連接管理實用工具和 SQL Server CE 虛擬目錄創(chuàng)建向?qū)?。安裝結(jié)束時,可以轉(zhuǎn)到“開始”菜單,指向“程序” ,單擊“Microsoft SQL Server CE2.0”然后單擊“配置 IIS 中的連接支持” 。在 SQL Server CE 管理實用工具的
36、右窗格中雙擊“創(chuàng)建虛擬目錄”向?qū)?。將虛擬目錄名為“sqlce”,將文件 sscesa20.dll 拷貝到該目錄下(在這一步中要先在你設(shè)定的目錄下建立一個物理文件夾并將該文件夾設(shè)置為共享文件夾,并修改該文件夾的使用權(quán)限,當在創(chuàng)建虛擬目錄時文件夾路徑會自動映射到該物理文件夾下) ,運行 cmd.exe,轉(zhuǎn)到C:Inetpubwwwrootsqlce 目錄下,然后鍵入“regsvr32 sscesa20.dll”將COM 組件注冊到 DLL 中,在 Pocket PC 2003 模擬器的地址欄輸入http:/9PYAC859FD7PXWY/sqlce/sscesa20.dll 測試連接到服務(wù)器9PY
37、AC859FD7PXWY 是否成功。如果數(shù)據(jù)庫安裝正確,將得到一個包含 SQL Server CE Agent 的 Web 頁面。需要注意一點:在配置環(huán)境時盡量先不要對整個操作系統(tǒng)安裝殺毒軟件和其他的防護性軟件,以免安裝快照文件夾時失敗,并提示開發(fā)者找不到網(wǎng)絡(luò)路徑。在本設(shè)計中由于要訪問遠程數(shù)據(jù)庫,因此不僅需要運用 RDA 方法來實現(xiàn)SQL Server 數(shù)據(jù)庫與本地 SQL Server CE 數(shù)據(jù)庫之間同步數(shù)據(jù)操作,還需要安裝(Server Tools)才能訪問遠程數(shù)據(jù)庫。3.33.3 創(chuàng)建本地設(shè)備上的數(shù)據(jù)庫創(chuàng)建本地設(shè)備上的數(shù)據(jù)庫創(chuàng)建本地數(shù)據(jù)庫 AccessMsg.sdf 和表 Ppc1 代
38、碼如下:創(chuàng)建SQL Server CE 數(shù)據(jù)庫 Private Sub CreatemyDB() Dim boolCreateNewDatabase As Boolean = True Dim slocalDatabaseName As String Dim AppPath As String 返回Pocket PC應(yīng)用程序路徑 AppPath = System.IO.Path.GetDirectoryName(Reflection.Assembly. _ GetExecutingAssembly().GetName.CodeBase.ToString() slocalDatabaseName
39、 = AppPath & AccessMsg.sdf 檢查數(shù)據(jù)庫文件是否存在 If System.IO.File.Exists(slocalDatabaseName) Then boolCreateNewDatabase = False End IfIf (System.IO.File.Exists(slocalDatabaseName) Then第 11 頁 共 20 頁 System.IO.File.Delete(slocalDatabaseName) End If Dim eng As Data.SqlServerCe.SqlCeEngine = New Data.SqlServ
40、erCe.SqlCeEngine(Data source = & slocalDatabaseName) eng.CreateDatabase() 連接SQL Server CE 數(shù)據(jù)庫 Dim localconnection As Data.SqlServerCe.SqlCeConnection localconnection = New Data.SqlServerCe.SqlCeConnection(Data source = & slocalDatabaseName) localconnection.Open()創(chuàng)建數(shù)據(jù)庫表 Dim buildtables As Sys
41、tem.Text.StringBuilder = New System.Text.StringBuilder buildtables.Append(CREATE TABLE ppc1() buildtables.Append(SenderID nvarchar(50) null) buildtables.Append(,AceepterID nvarchar(50) null) buildtables.Append( ,Message nvarchar(100) null) buildtables.Append()Dim cmdCreateTable As Data.SqlServerCe.S
42、qlCeCommand cmdCreateTable = New Data.SqlServerCe.SqlCeCommand(buildtables.ToString(), localconnection) cmdCreateTable.CommandType = CommandType.Text cmdCreateTable.ExecuteNonQuery() localconnection.Close() End Sub3.4 系統(tǒng)設(shè)計代碼系統(tǒng)設(shè)計代碼3.4.1 本地數(shù)據(jù)庫訪問本地數(shù)據(jù)庫訪問本地數(shù)據(jù)訪問如圖 4-1 所示通過對本地數(shù)據(jù)庫的訪問可以知道本地數(shù)據(jù)庫上保存的相關(guān)信息。可以通過 S
43、QL Server CE 2.0 的查詢分析器 ISQLW 查詢信息,如圖 5 所示第 12 頁 共 20 頁圖 5 ISQLW 查詢分析器本地數(shù)據(jù)庫訪問界面,如圖 6 所示圖 6 發(fā)送和接收過程界面通過向數(shù)據(jù)表中插入數(shù)據(jù)的公共過程可更改數(shù)據(jù)庫中的數(shù)據(jù):向數(shù)據(jù)表插入數(shù)據(jù)的公共過程 Public Sub runNonQuery(ByVal sqlcommandtext As String, ByVal localDatasource As String) Dim localConnection As Data.SqlServerCe.SqlCeConnection localConnection
44、 = New Data.SqlServerCe.SqlCeConnection(localDatasource) Dim cmdCreateTable As Data.SqlServerCe.SqlCeCommand localConnection.Open() cmdCreateTable = New Data.SqlServerCe.SqlCeCommand(sqlcommandtext, localConnection) cmdCreateTable.CommandType = CommandType.Text cmdCreateTable.ExecuteNonQuery() local
45、Connection.Close() cmdCreateTable.Dispose() localConnection.Dispose() End Sub該段代碼實現(xiàn)當數(shù)據(jù)差入后使用 DataReader 和 DataSet 進行讀取數(shù)據(jù)庫數(shù)據(jù): 使用DataReader訪問數(shù)據(jù) Public Function Getdata(ByVal localDataSource As String) As Data.SqlServerCe.SqlCeDataReader Try Dim localConnection As Data.SqlServerCe.SqlCeConnection localC
46、onnection = New Data.SqlServerCe.SqlCeConnection(localDataSource) 獲取數(shù)據(jù) Dim dr As Data.SqlServerCe.SqlCeDataReader第 13 頁 共 20 頁 Dim cmdGetdata As Data.SqlServerCe.SqlCeCommand localConnection.Open() cmdGetdata = New Data.SqlServerCe.SqlCeCommand(SELECT * FROM PPC1, localConnection) cmdGetdata.Command
47、Type = CommandType.Text dr = cmdGetdata.ExecuteReader(Data.CommandBehavior.CloseConnection) Return dr Catch ex As Data.SqlServerCe.SqlCeException MessageBox.Show(ex.Message) End Try End Function 使用DataSet訪問數(shù)據(jù) Public Function GetDataSet(ByVal localDatasource As String) As Data.DataSet Try Dim localCo
48、nnection As Data.SqlServerCe.SqlCeConnection localConnection = New Data.SqlServerCe.SqlCeConnection(localDatasource) 獲取數(shù)據(jù) Dim da As Data.SqlServerCe.SqlCeDataAdapter = New Data.SqlServerCe.SqlCeDataAdapter Dim ds As Data.DataSet = New Data.DataSet da.SelectCommand = New Data.SqlServerCe.SqlCeCommand
49、(SELECT *FROM PPC1, localConnection) da.Fill(ds) Return ds Catch ex As Data.SqlServerCe.SqlCeException MessageBox.Show(ex.Message) End Try End Function設(shè)計控件代碼的過程包含了在.NET 控件欄中拖入設(shè)計窗體控件,在后臺寫入控件觸發(fā)事件代碼,如圖 7 所示:第 14 頁 共 20 頁圖 7 界面控件設(shè)計界面控件按鈕功能實現(xiàn)代碼:Private Sub btOK_Click(ByVal sender As System.Object, ByVal
50、e As System.EventArgs) Handles btOK.Click Dim slocalDatabaseName As String Dim AppPath As String Dim boolCreateNewDatabase As Boolean = True AppPath = System.IO.Path.GetDirectoryName(Reflection.Assembly. _ GetExecutingAssembly().GetName.CodeBase.ToString()slocalDatabaseName = AppPath & AccessMsg
51、.sdfIf System.IO.File.Exists(slocalDatabaseName) Then boolCreateNewDatabase = False End If Dim conNwindCE As Data.SqlServerCe.SqlCeConnection = New Data.SqlServerCe.SqlCeConnection(Data source = & slocalDatabaseName) Dim Name As String = Me.txtName.Text Dim Number As String = Me.txtNum.Text conN
52、windCE.Open() Dim cmdData As Data.SqlServerCe.SqlCeCommand = New Data.SqlServerCe.SqlCeCommand(INSERT INTO Aceepter (ID,Name,Type) VALUES( & Name & , & Number & ,), conNwindCE)cmdData.CommandType = Data.CommandType.Text cmdData.ExecuteNonQuery()conNwindCE.Close()LoadData()End If第 15
53、頁 共 20 頁3.4.2 遠程數(shù)據(jù)訪問遠程數(shù)據(jù)訪問RDA 為基于.NET Compact Framework 的 Pocket PC 應(yīng)用程序提供了與遠程SQL Server 數(shù)據(jù)庫實例進行數(shù)據(jù)同步的簡單方法。RDA 適用于簡單的,不需要全功能的合并復制功能的數(shù)據(jù)同步,使用 RDA 不需要配置 SQL Server 的復制器和發(fā)布器。使用 RDA 技術(shù)中的 PULL 操作向遠程數(shù)據(jù)庫中的服務(wù)器接收數(shù)據(jù)。在Pocket PC 中完成對信息接收的操作:Public Class RDAPublic Shared Sub pull() Dim _strRemoteConnect As String
54、_strRemoteConnect = provider = sqloledb;data source =.;Initial Catalog = MsgInfo;Integrated Security=SSPI;Dim AppPath As String Dim _strLocalConnect As String AppPath = System.IO.Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase.ToString() _strLocalConnect = data so
55、urce= & AppPath & AccessMsg.sdf Const _strInternetURL As String = /sqlce/sscesa20.dllTry Dim RDA As Data.SqlServerCe.SqlCeRemoteDataAccess = New Data.SqlServerCe.SqlCeRemoteDataAccess() RDA.InternetLogin = String.Empty RDA.InternetPassword = String.Empty RDA.InternetUrl = _str
56、InternetURL RDA.LocalConnectionString = _strLocalConnect RDA.Pull(localMsgInfo, Select * from MsgInfo, _strRemoteConnect, System.Data.SqlServerCe.RdaTrackOption.TrackingOnWithIndexes) Catch ex As Data.SqlServerCe.SqlCeException MessageBox.Show(ex.Message) End Try End Sub使用 RDA 技術(shù)中的 PUSH 操作向遠程數(shù)據(jù)庫中的服務(wù)
57、器發(fā)送數(shù)據(jù)。在Pocket PC 中完成對信息發(fā)送的操作: Public Shared Sub push() Dim _strRemoteConnect As String _strRemoteConnect = provider = sqloledb;data source =.;Initial Catalog = MsgInfo1;Dim AppPath As String Dim _strLocalConnect As String AppPath = 第 16 頁 共 20 頁System.IO.Path.GetDirectoryName(Reflection.Assembly.Get
58、ExecutingAssembly().GetName().CodeBase.ToString() _strLocalConnect = data source= & AppPath & AccessMsg.sdf Const _strInternetURL As String = /sqlce/sscesa20.dll Dim RDA As Data.SqlServerCe.SqlCeRemoteDataAccess = New Data.SqlServerCe.SqlCeRemoteDataAccess() Try With RDA .Inte
59、rnetLogin = String.Empty .InternetPassword = String.Empty .InternetUrl = _strInternetURL .LocalConnectionString = _strLocalConnect .Push(localMsgInfo1, _strRemoteConnect, System.Data.SqlServerCe.RdaBatchOption.BatchingOn)End With Catch ex As Data.SqlServerCe.SqlCeException MessageBox.Show(ex.Message
60、)End TryEnd SubEnd Class第四章第四章 測試和結(jié)果測試和結(jié)果4.14.1 測試測試在系統(tǒng)搭建起后通過使用部署 Pocket PC 2003 模擬器進行測試,首先從Visual Studio.NET 菜單欄的“調(diào)試”來進行調(diào)試,運行代碼調(diào)試無誤,在部署對話框中選擇 Pocket PC 2003 SE 仿真模擬器,單擊“部署”按鈕,系統(tǒng)加載 Pocket PC 2003 模擬器,并在模擬器上運行 SQLCECF 應(yīng)用程序,當測試環(huán)境報錯,則開發(fā)者一定要注意查看報錯代碼和報錯的信息,以便準確診斷出錯的原因,然后根據(jù)錯誤類型重新配置 IIS 服務(wù),SQL Server 2000 數(shù)據(jù)庫發(fā)布
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國際勞務(wù)輸出合同管理與勞動權(quán)益保障
- 2025年度廣州科技創(chuàng)新園區(qū)建設(shè)工程施工合同參考范本
- 2025年度城市更新改造工程監(jiān)理服務(wù)合同
- 長春2024年吉林長春市市直事業(yè)單位招聘13人筆試歷年參考題庫附帶答案詳解
- 貴州2025年貴州省殘疾人聯(lián)合會直屬事業(yè)單位招聘13人筆試歷年參考題庫附帶答案詳解
- 西雙版納2025年云南西雙版納州婦幼保健院第一批非在編護理人員招聘筆試歷年參考題庫附帶答案詳解
- 舟山浙江舟山岱山縣司法局招聘編外工作人員(二)筆試歷年參考題庫附帶答案詳解
- 綏化2025年黑龍江肇東市急需緊缺高中教師招聘6人筆試歷年參考題庫附帶答案詳解
- 湖北2025年湖北醫(yī)藥學院專項招聘90人筆試歷年參考題庫附帶答案詳解
- 河南2025年河南財政金融學院招聘高層次人才筆試歷年參考題庫附帶答案詳解
- 2025年大慶職業(yè)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 山東省濟南市2024-2024學年高三上學期1月期末考試 地理 含答案
- 【課件】液體的壓強(課件)-2024-2025學年人教版物理八年級下冊
- 實施彈性退休制度暫行辦法解讀課件
- 冷凍食品配送售后服務(wù)體系方案
- 2024-2030年中國自動光學檢測儀(AOI)市場競爭格局與前景發(fā)展策略分析報告
- 2024-2025學年人教版數(shù)學八年級上冊期末模擬試卷
- 銷售培訓合同范例
- 財務(wù)工作總結(jié)與計劃-財務(wù)經(jīng)理總結(jié)與計劃
- 四川省成都市2023年中考道德與法治真題試卷(含答案)
- 【初中生物】病毒課件2024-2025學年人教版生物七年級上冊
評論
0/150
提交評論