毕业设计基于手机短信平台聊天程序的设计与实现

上传人:痛*** 文档编号:44509724 上传时间:2021-12-05 格式:DOC 页数:28 大小:597.02KB
收藏 版权申诉 举报 下载
毕业设计基于手机短信平台聊天程序的设计与实现_第1页
第1页 / 共28页
毕业设计基于手机短信平台聊天程序的设计与实现_第2页
第2页 / 共28页
毕业设计基于手机短信平台聊天程序的设计与实现_第3页
第3页 / 共28页
资源描述:

《毕业设计基于手机短信平台聊天程序的设计与实现》由会员分享,可在线阅读,更多相关《毕业设计基于手机短信平台聊天程序的设计与实现(28页珍藏版)》请在装配图网上搜索。

1、分类号:分类号:TP311.52TP311.52 U U D D C C:D10621-408-(2007)D10621-408-(2007) 5826-05826-0密密 级:公级:公 开开 编编 号:号:20028011062002801106成成 都都 信信 息息 工工 程程 学学 院院学学 位位 论论 文文基于手机短信平台聊天程序的设计与实现基于手机短信平台聊天程序的设计与实现论文作者姓名:论文作者姓名:刘旭东刘旭东申请学位专业:申请学位专业:网络工程网络工程申请学位类别:申请学位类别:工学学士工学学士指指导导教教师师姓姓名名(职职称称):陶德元(教授)陶德元(教授)论文提交日期:论文

2、提交日期:20072007 年年 0606 月月 1 1 日日摘摘 要要本文介绍了在.NET2005 平台上,通过 Pocket PC 模拟器,在 PC 机上模拟手机短信息的发送和接收过程。系统使用 SQL Server CE 和 SQL Server 2000数据库来存储数据,同时利用 ADO.NET 数据库访问技术和使用 VB.NET 编程语言。在对远程数据库进行访问时使用了 RDA 的技术。系统通过引用 System.Data.SqlServerCe 组件在 Pocket PC 2003 模拟器上创建本地 SQL Server CE 数据库 AccessMsg.sdf 和表 MsgInf

3、o,该表具有保存用户 ID 和信息的功能。通过在 Pocket PC 写入数据,能够保存在本地 SQL Server CE 数据库中。通过 RDA 同步技术中的 PULL 和 PUSH 两个操作将数据保存到在远程数据库中。该系统能较清晰的展示智能手机短信息通信原理因此达到设计的目的。关键词关键词 : : 智能手机 ;SQL Server CE ;ADO.NET The design and implementation of chatting program based on mobile platformAbstractThe papers introduced the .NET2005 p

4、latform, Pocket PC simulator on the PC simulation of the cellular phone 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 vi

5、sit the RDA to use the technology.The system components by reference System.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 c

6、an be stored in local SQL Server CE databases and RDA synchronization 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 wor

7、ds: Smartphone; SQL Server CE; ADO.NET; 目目 录录1引言.11.1课题背景.11.2国内外研究现状.11.3本课题研究意义.11.4本课题研究方法.21.4.1开发平台 Visual Studio .NET.21.4.2SQL Server CE 数据库.21.4.3C/S 结构.32系统需求分析.42.1功能需求.42.2性能需求.42.3环境需求.52.4用户界面需求.53系统主体设计.53.1主体设计思路.53.2设计结构.63.2.1系统功能模块结构.73.2.2系统数据库设计.84系统实现.94.1程序设计语言.94.2开发环境搭建.94.2.

8、1配置 SQL Server 2000 数据库.94.2.2安装及配置 SQL Server CE.94.3创建本地设备上的数据库.104.4系统设计代码.114.4.1本地数据库访问.114.4.2远程数据访问.155测试和结果.165.1测试.165.2结果.16结 论.17参考文献.18致 谢.19声 明.20第 1 页 共 20 页1 1引言引言1.11.1 课题背景课题背景移动智能设备,智能信息管理,多媒体信息交流正成为未来移动通信发展的方向和通信技术进步的潮流。无线移动设备结合了手机通信和 PDA 功能更成为现代移动设备的发展方向。这种发展方向意味着无线通信业和 IT 行业正在进入

9、融合和相互的创新。一种整合了手机通信平台和 PDA 平台的代表现在潮流的移动电话正在普及和发展。人们将这种融合的产品统称为智能手持设备(Smart Handheld Device,简写为 SHD)也称为掌上智能手机。更多时候 SHD 被赋予一个更为大家了解和接受的名字 Smart Phone(智能电话) 。智能手机包括娱乐和商务两大功能,特别是其商务功能。智能移动信息终端提供了先进的集个人通信,个人信息管理,互联网接入等一体化功能。其中 Symbian,Windows CE,Plam,Linux 是智能手机的四大操作系统,我们目前最常使用的 Windows CE主要分为 Pocket PC 和

10、 Smart Phone 系列两种。通常 Pocket PC 并不是单一的手机操作系统,但是可以通过改造和整合后,可用与多款手机如大显CU9288,多普达 M700,厦新 M696。在提到智能手机的操作系统,就不得不涉及到智能手机的开发平台。目前,智能手机的开发平台主要有 JAVA,BREW 和.NET。其中.NET 框架是一个用于生成,部署,运行 XML Web 服务及其他应用程序的环境。它包含三个主要部分:公共语言运行库,框架类和 ASP.NET。在.NET 中有一套编程接口,用于开发者对智能手机和 PDA 的开发。.NET 技术是为人所用,并不是强制个人适应起计算机的限制。利用.NET,

11、无论什么时候,什么地方都能对你设备上的信息进行管理,对远程的数据进行访问。1.21.2 国内外研究现状国内外研究现状通过对文献和资料的整理查阅,国内对 Pocket PC 的研究和实践正是起步时期,但成绩较为显著。很多国内智能手机开发商都在利用相关技术对该系统进行开发并将此运用到实践和商业环境中。在国外已经发展的相当成熟,也将此技术更多的使用在 3G 通信中,更能体现出智能手机的人性化,智能话,开放化。1.31.3 本课题研究意义本课题研究意义智能手机除了具备 PDA 的大部分功能外,其中最关键的功能还在于自身的通信能力,特别是现在短信息成为一种成熟的通信机制的环境下,就显的更为引人关注(文字

12、短信,彩信)智能手机为用户提供可足够大的屏幕尺寸和带宽,可以从容的面对多媒体信息的发送和接收。融合了3C(Computer,Communication,Consumer)的智能手机必将成为未来手机发展的第 2 页 共 20 页新方向。随着计算机及其信息技术不断成熟与发展,人们的消费需求和消费心理都发生了巨大的变化,人们已经不再一味地追求 PC 的大容量和高速度,而是转而设法将计算机应用于日常工作,生活和学习的方方面面,追求个性化的产品和消费。一台智能设备(Smart Device)从本质上将仍然是一台计算机,因为它具有一般计算机的典型特征,它仍然由硬件和软件组成,在智能设备内部既有 CPU,存

13、储器,系统时钟和外部接口等,也有操作系统和应用软件,和一般的通用计算机或 PC 相比,它更像一台专用计算机,智能设备一般都是为了特定的目的而设计的,一般具有特定的功能,因为它的速度和容量只满足设备的使用要求,远低于通常的 PC。但是,智能设备种类繁多,功能和性能千变万化,所以它对软硬件的要求也就更加复杂和多样,所以智能设备不仅要求其硬件集成度高,体积小,功耗低,也要求软件稳定性高,灵活性好,实时性高等。对于智能设备的硬件来讲,CPU 是其核心,CPU 的功能和性能在很大程度上决定了设备的功能和性能;对于只能设备的软件来讲,操作系统是其核心,操作系统的功能和性能很大程度上决定了设备的功能和性能。

14、1.41.4 本课题研究方法本课题研究方法1.4.11.4.1 开发平台开发平台 VisualVisual StudioStudio .NET.NETVisual Studio .NET 的 Smart Device Programmability(SDP)功能(以前称作 Smart Device ExtensionsSDE)可以帮助开发人员利用 Microsoft NET Compact Framework 编写移动应用程序,从而在连接或短开外部设备的情况下启用分布式的移动计算。使用.NET Compact Framework 中提供的大量类库,开发者编写程序的速度得到很大的提高,使用 Vi

15、sual Studio .NET2005,开发者可以在桌面系统中用到的相同工具和技术来开发 Pocket PC 2003(具备相应的SDK)以及 Smart Phone2003。它将安装.NET Compact Framework,这是专门为资源有限的设备设计的。开发者可以使用 C#语言或者 Visual Basic.NET 语言来开发移动和嵌入式设备。除此之外它还能很好的应用于 XML Web Service 或ADO.NET 的应用程序。1.4.2SQL Server CE 数据库数据库Microsoft SQL Server 2000 Windows CE Edition(SQL Ser

16、ver CE)2.0 版是精简的数据库,Microsoft SQL Server 扩展到基于 Windows CE 的移动设备,并将开发者的快速应用程序开发提供一个一致的编程模型。SQL Server CE 不同于 Windows CE 操作系统本身的属性数据库,它是一个真正意义上的关系数据库,它具有强大的数据存储功能,优化查询处理器,以及可靠,可伸缩的连接能力。SQL Server CE 的引擎提供了关系型数据库的基本功能。远程数据访问和合并复制,确保 SQL Server 数据库中的数据不仅可以可靠的提交给用户,第 3 页 共 20 页而且能够离线修改并在以后的时间内与服务器进行数据同步。

17、SQL Server CE2.0 还包括新的特性。使用 SDE 处理数据与通过 eMbedded Visual Basic 处理数据的差别很大。如果采用 eMbedded Visual Basic,可以使用两种类型的数据库Pocket Access 和 SQLCE。许多的开发者选择使用 Pocket Access,因为它容易实现,而且与 Microsoft Access 相集成。而 SDE 只支持 SQLCE 在 eMbedded Visual Basic 中,你具有 ADOCE。SDE 提供 ADO.NET。SQL Server 远程数据访问:远程数据访问(RDA)为 Pocket PC 应

18、用程序提供了功能强大而简单的方法,来访问位于远程的 SQL Server 2000 或者 SQL Server 7.0 数据库中的 SQL Server 数据。不论 Pocket PC 是连续还是间歇地连接到 SQL Server 系统,均可使用 RDA。应用程序以两种方式使用 RDA:一种是应用程序提交数据操作语言(DML)语句,该语句被转交到 SQL Server 服务器上执行。另一种是应用程序提供返回查询结果集的 SQL 查询语句。查询结果集被返回给 Pocket PC 设备,并以数据库表的形式存储在 SQL Server CE 数据库里。RDA 能跟踪 Pocket PC 应用程序所做

19、的所有更改。RDA 使用 Microsoft Internet 信息服务(IIS)的身份验证,授权和加密服务。1.4.3C/S 结构结构C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是 Client/Server 形式的两层结构,由于现在的软件应用系统正在向分布式的 Web 应用发展,Web 和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部

20、的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的 CS 体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是 Client 端,还是Server 端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S 结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。第 4 页 共 20 页2 2系统需求分析系统需求分析2.12.1 功能需求功能需求综合运用所学知识开发一种基于 PC 机的手机短信

21、通信系统,侧重在于模拟手机短信通信的过程。通过在客户端输入信息能够访问本地数据库,即在本地数据库 SQLCE 上能查看信息;通过 RDA 的技术,执行 PULL 操作(从远程数据库服务器接受数据)和 PUSH 操作(向远程数据库服务器发送信息)访问远程数据库。客户端即模拟器应用功能需求:对数据和信息的添加,删除功能:完成对用户 ID,发送和接收信息的添加,删除。对信息的发送和接收功能:完成对信息的发送和接收,访问本地数据库和远程数据库。用户可以在 Pocket PC 完成和手机上同样的操作,向 Pocket PC 中输入接收方 ID 和信息,通过 RDA 技术将用户的信息发送到远程服务器上,同

22、样也可以从远程服务器上接收信息。Pocket PC 上存储数据实际上是对本地数据库 SQLCE 的操作,通过按钮控件把相关的信息存储到本地数据库中,用户 ID,信息,用户名,同样也可以删除本地数据库里的信息。Pocket PC 对远程数据库的访问需要使用 RDA 的同步技术,运用 PULL 和PUSH 操作分别从远程的服务器接收数据和向远程服务器发送数据。服务器端即 SQL Server 2000 数据库的功能需求:保存和接收用户 ID,用户名,信息。为方便开发者可以使用 SQL Server 查询语言,查询数据库中保存的数据,可通过使用 SQL 语句完成对远程数据库的操作。该功能可以方便开发

23、者修改数据库中的数据,使远程数据库拥有更大的拓展性。通过完善远程数据库的存储能力从而达到对 Pocket PC 离线开发的更大功能。2.22.2 性能需求性能需求该设计最大存储容量为用户存储容量和信息存储容量。用户存储容量中包含了用户 ID(即手机号码)和姓名,其容量允许用户随时添加和删除存储信息,但用户存储容量最高为 50 个字符,信息存储容量为 100 个字符。该设计由于是在 PC 机上模拟 PPC 通信,其运行的时间受其搭建的系统平台环境的影响(主要是开发机的硬件环境影响)。一般从程序调试运行到模拟器部署成功要花 2 至 3 分钟时间。第 5 页 共 20 页安全性方面由于系统平台搭建时

24、均采用默认值,因此在使用该系统时不会存在使用过程中的保密限制。任何用户只要在系统正常情况下都可使用。当程序运行中同时要考虑网络环境的配置。如果网络出现问题,Pocket PC可以正常访问 SQLCE 本地数据库,而暂时不能访问 SQL Server 2000 远程数据库,信息将保存暂时保存在 SQLCE 本地数据库上。在 RDA 访问远程数据库中是一种乐观的同步访问方式,但当发生冲突或错误的时候,需要开发者手动维护数据完整性。在此情况下可用合并复制的技术完成对设备的同步访问。2.32.3 环境需求环境需求该设计完成需要硬件环境和软件环境的支持。(1) 硬件环境:主机上采用一般的个人 PC,其硬

25、件核心在于处理器和内存,硬盘有效空间在 4G 以上。(2) 软件环境:操作系统为 Windows Server 2003 ;在网络环境上另需安装 IIS 信息服务器;数据库为 SQL Server 2000 sp4 和 SQL Server 2000 Windows CE Edition 2.0(SQL Server CE),开发工具为 Visual Studio.NET2005。2.42.4 用户界面需求用户界面需求为使该设计可行,可靠,其界面设计要求简单,方便,且具有人性化的操作界面,系统功能可以良好的功能按钮相结合。使用 Send,accept,添加,删除四个按钮控制相关的功能;Text

26、Box 控件用来分别显示信息和用户 ID,用户名。整个界面简单,醒目,且有效。3 3系统主体设计系统主体设计3.13.1 主体设计思路主体设计思路本系统主要使用 SQL Server CE 数据库和 SQL Server 2000 数据库,通过引用 System.Data.SqlServerCe 组件创建 SqlConnection 实例利用代码在Pocket PC 2003 模拟器上创建本地数据库表:MsgInfo。对远程 SQL Server 2000 数据库的访问通过 RDA 技术需要 System.Data.SqlClient 的引用完成 PULL操作和 PUSH 操作。在对 Pock

27、et PC 上存储数据实际上是对本地数据库的操作,通过代码在编辑环境中创建出本地数据库 AccessMsg.sdf,该数据库是个精简版的 SQL Server 数据库,同样是个关系型数据库,同时通过代码在 SQLCE 中创建表MsgInfo,表中列属性为用户 ID(SendID,AcceptID)和 Message,分别用来存储用户信息和发送接收的信息。整个系统的开发除了建立数据库外,在实现功能代码上要创建一个第 6 页 共 20 页SQLCECF 的实例。使数据库能够支撑整个系统功能实现。在 Pocket PC 上其界面设计思路是尽量简单,但能满足系统需求。控件上的设计简洁,明了。使模拟器和

28、真实的手机操作界面相似,到达界面设计的需求。在发送端的模拟器上显示接收端的 ID 和 Message,在接收端的模拟器上显示发送端的 ID 和同样的 Message,使模拟器功能上和真实手机一致。在实现对远程数据库 SQL Server 2000 访问时主要采用 RDA 的同步技术。运用 PULL 和 PUSH 操作分别从远程的服务器接收数据和向远程服务器发送数据。在运用 RDA 时由于是一种乐观的访问方式,而没有考虑系统环境存在的冲突,当访问不成功时,数据会暂时保存在本地数据库中,其实质也是对本地数据库的操作。当系统环境通畅后再一次对数据进行 PULL 和 PUSH 操作就能访问远程数据库。

29、系统整体运行模式:通过一台 Pocket PC 向另一台 Pocket PC 传送信息,首先发送方将信息写入 Pocket PC 中即完成对发送方本地数据库的操作,在通过 PUSH 操作向远程数据库中发送数据,接收方再通过 PULL 操作从远程数据库接受数据,此时信息将保存在接收方本地数据库中,通过相应的查询操作完成对接收方本地数据库的访问。同时需要考虑此传输过程是一种乐观的传输过程。3.23.2 设计结构设计结构系统设计结构图和 RDA 功能结构图如图 1,图 2 所示智能通讯设备智能通讯设备SQL Server CESQL Server CESQL Server 2000图 1 系统结构图

30、 第 7 页 共 20 页 图 2 RDA 功能系统结构图3.2.1系统功能模块结构系统功能模块结构系统总体功能模块如图 3 所示:短信通信系统 图 3 系统功能模块(1)发送方包含了接收方的 ID 号和待发信息,接收方的 ID 号以列表的方式展现在发送方。(2)接收方包含了发送方的 ID 号和接收信息(即发送方发出的信息) 。(3)发送方通过模拟器软件盘写入信息,通过添加删除功能完成信息写入与发送。(4)通过 RDA 技术可以访问在远程 SQL Server 2000 数据库中表内信息。发送方接收方信 息接收方 ID发送方 ID信 息第 8 页 共 20 页3.2.2系统数据库设计系统数据库

31、设计在 SQL Server 2000 企业管理器中创建数据库 mysqlce 和表 MsgInfo1(如表 1)所示 表 1 数据库表 MsgInfo1使用 SQLCE 通过代码在智能设备 Pocket PC 2003 上创建数据库AccessMsg.sdf 和表 Ppc1(如表 2,图 4 所示) 表 2 本地数据库表 Ppc1图 4 Pocket PC 上创建的本地数据库列 名类 型长 度特 性SendIDnvarchar50NOT NULLAcceptIDnvarchar50NOT NULLMessagenvarchar100 NULLDateTimetime8NOT NULL列 名类

32、 型长 度特 性SendIDnvarchar50NOT NULLAccepterIDnvarchar50NOT NULLMessagenvarchar100NULL第 9 页 共 20 页4 4系统实现系统实现4.14.1 程序设计语言程序设计语言Visual Basic.NET 是新一代的 Visual Basic 语言,它是一种简便快捷地创建.NET 应用程序(包括 XML Web services 和 ASP.NET.Web 应用程序)的语言 Visual Basic.NET 具有许多新的功能和改进功能(如继承,接口和重载),这使 Visual Basic.NET 成为功能强大的面向对象

33、的编程语言,其他新的语言功能包括自由线程处理和结构化异常处理。Visual Basic.NET 还完全集成了.NET Framework 和公共语言运行苦,.NET Framework 和公共语言运行库,共同提供语言互操作性,垃圾回收,增强的安全符合性和改进的版本支持。Visual Basic 开发者现在可以使用显示多线程处理创建多线程可伸缩的应用程序。Visual Basic.NET 中其他的新语言功能包括结构化异常处理,自定义属性和符合公共语言规范(CLS)。CLS 是对诸如数据类型之类的事物以及对象的公开和交互操作方式进行标准化的一组规则。Visual Basic.NET 添加了几项利用

34、 CLS 优势的功能,任何符合 CLS 的语言都可以使用在 Visual Basic.NET 中创建的类,对象和组件。Visual Basic 用户可以从其他符合 CLS 的编程语言访问类,组件和对象,而不用担心诸如数据类型之类的语言特定的差异,Visual Basic.NET 程序使用的CLS 功能包括程序集,命名空间和属性。Visual Basic.NET 支持许多新的或改进的面向对象语言功能,如重载,继承,Overrides 关键字,接口,共享成员和构造函数,还包括结构化异常处理,委托以及几个新的数据类型。4.24.2 开发环境搭建开发环境搭建4.2.1配置配置 SQL Server 2

35、000 数据库数据库安装使用设备上的移动数据库,首先要安装 SQL Server,因为使用 SQL Server 可以进行远程数据访问(RDA)和合并复制两种方式的同步数据。RDA 访问功能支持与 SQL Server7.0(和更高版本)数据库的连接,合并复制则要求后端必须是 SQL Server 2000。这里选择 SQL Server 2000 安装,同时为下步安装 SQL Server CE 做准备,要先安装 SQL Server 2000 升级补丁包 SQL Server PackSP4。在选择验证模式时选择混合模式。4.2.2安装及配置安装及配置 SQL Server CE下载最新自

36、解压包 sqlce20sql2ksp4 和 sqlce2.0 安装文件,即可将 SQL Server CE(SSCE)数据库安装在开发用的 PC 机上(即服务器名 9PYAC859FD7PXWY)。如果仅仅创建本地数据库,则选择(Development Tools)安装即可;要使用SQL Server CE 的远程数据访问(RDA)和复制技术,除了安装以上外,还需要第 10 页 共 20 页选择(Server Tools)安装。安装 SQL Server CE 2.0 服务器工具程序,通过在运行 IIS 的计算机上运行 SQL Server CE 服务器工具安装程序之一,自动安装 SQL Se

37、rver CE 连接管理实用工具和 SQL Server CE 虚拟目录创建向导。安装结束时,可以转到“开始”菜单,指向“程序” ,单击“Microsoft SQL Server CE2.0”然后单击“配置 IIS 中的连接支持” 。在 SQL Server CE 管理实用工具的右窗格中双击“创建虚拟目录”向导。将虚拟目录名为“sqlce”,将文件 sscesa20.dll 拷贝到该目录下(在这一步中要先在你设定的目录下建立一个物理文件夹并将该文件夹设置为共享文件夹,并修改该文件夹的使用权限,当在创建虚拟目录时文件夹路径会自动映射到该物理文件夹下) ,运行 cmd.exe,转到C:Inetpu

38、bwwwrootsqlce 目录下,然后键入“regsvr32 sscesa20.dll”将COM 组件注册到 DLL 中,在 Pocket PC 2003 模拟器的地址栏输入http:/9PYAC859FD7PXWY/sqlce/sscesa20.dll 测试连接到服务器9PYAC859FD7PXWY 是否成功。如果数据库安装正确,将得到一个包含 SQL Server CE Agent 的 Web 页面。需要注意一点:在配置环境时尽量先不要对整个操作系统安装杀毒软件和其他的防护性软件,以免安装快照文件夹时失败,并提示开发者找不到网络路径。在本设计中由于要访问远程数据库,因此不仅需要运用 RD

39、A 方法来实现SQL Server 数据库与本地 SQL Server CE 数据库之间同步数据操作,还需要安装(Server Tools)才能访问远程数据库。4.34.3 创建本地设备上的数据库创建本地设备上的数据库创建本地数据库 AccessMsg.sdf 和表 Ppc1 代码如下:创建SQL Server CE 数据库 Private Sub CreatemyDB() Dim boolCreateNewDatabase As Boolean = True Dim slocalDatabaseName As String Dim AppPath As String 返回Pocket PC应

40、用程序路径 AppPath = System.IO.Path.GetDirectoryName(Reflection.Assembly. _ GetExecutingAssembly().GetName.CodeBase.ToString() slocalDatabaseName = AppPath & AccessMsg.sdf 检查数据库文件是否存在 If System.IO.File.Exists(slocalDatabaseName) Then boolCreateNewDatabase = False End IfIf (System.IO.File.Exists(slocalDat

41、abaseName) Then第 11 页 共 20 页 System.IO.File.Delete(slocalDatabaseName) End If Dim eng As Data.SqlServerCe.SqlCeEngine = New Data.SqlServerCe.SqlCeEngine(Data source = & slocalDatabaseName) eng.CreateDatabase() 连接SQL Server CE 数据库 Dim localconnection As Data.SqlServerCe.SqlCeConnection localconnectio

42、n = New Data.SqlServerCe.SqlCeConnection(Data source = & slocalDatabaseName) localconnection.Open()创建数据库表 Dim buildtables As System.Text.StringBuilder = New System.Text.StringBuilder buildtables.Append(CREATE TABLE ppc1() buildtables.Append(SenderID nvarchar(50) null) buildtables.Append(,AceepterID

43、nvarchar(50) null) buildtables.Append( ,Message nvarchar(100) null) buildtables.Append()Dim cmdCreateTable As Data.SqlServerCe.SqlCeCommand cmdCreateTable = New Data.SqlServerCe.SqlCeCommand(buildtables.ToString(), localconnection) cmdCreateTable.CommandType = CommandType.Text cmdCreateTable.Execute

44、NonQuery() localconnection.Close() End Sub4.44.4 系统设计代码系统设计代码4.4.1本地数据库访问本地数据库访问本地数据访问如图 4-1 所示通过对本地数据库的访问可以知道本地数据库上保存的相关信息。可以通过 SQL Server CE 2.0 的查询分析器 ISQLW 查询信息,如图 5 所示图 5 ISQLW 查询分析器第 12 页 共 20 页本地数据库访问界面,如图 6 所示图 6 发送和接收过程界面通过向数据表中插入数据的公共过程可更改数据库中的数据:向数据表插入数据的公共过程 Public Sub runNonQuery(ByVal

45、sqlcommandtext As String, ByVal localDatasource As String) Dim localConnection As Data.SqlServerCe.SqlCeConnection localConnection = New Data.SqlServerCe.SqlCeConnection(localDatasource) Dim cmdCreateTable As Data.SqlServerCe.SqlCeCommand localConnection.Open() cmdCreateTable = New Data.SqlServerCe.

46、SqlCeCommand(sqlcommandtext, localConnection) cmdCreateTable.CommandType = CommandType.Text cmdCreateTable.ExecuteNonQuery() localConnection.Close() cmdCreateTable.Dispose() localConnection.Dispose() End Sub该段代码实现当数据差入后使用 DataReader 和 DataSet 进行读取数据库数据: 使用DataReader访问数据 Public Function Getdata(ByVal

47、 localDataSource As String) As Data.SqlServerCe.SqlCeDataReader Try Dim localConnection As Data.SqlServerCe.SqlCeConnection localConnection = New Data.SqlServerCe.SqlCeConnection(localDataSource) 获取数据 Dim dr As Data.SqlServerCe.SqlCeDataReader Dim cmdGetdata As Data.SqlServerCe.SqlCeCommand第 13 页 共

48、20 页 localConnection.Open() cmdGetdata = New Data.SqlServerCe.SqlCeCommand(SELECT * FROM PPC1, localConnection) cmdGetdata.CommandType = CommandType.Text dr = cmdGetdata.ExecuteReader(Data.CommandBehavior.CloseConnection) Return dr Catch ex As Data.SqlServerCe.SqlCeException MessageBox.Show(ex.Messa

49、ge) End Try End Function 使用DataSet访问数据 Public Function GetDataSet(ByVal localDatasource As String) As Data.DataSet Try Dim localConnection As Data.SqlServerCe.SqlCeConnection localConnection = New Data.SqlServerCe.SqlCeConnection(localDatasource) 获取数据 Dim da As Data.SqlServerCe.SqlCeDataAdapter = Ne

50、w Data.SqlServerCe.SqlCeDataAdapter Dim ds As Data.DataSet = New Data.DataSet da.SelectCommand = New Data.SqlServerCe.SqlCeCommand(SELECT *FROM PPC1, localConnection) da.Fill(ds) Return ds Catch ex As Data.SqlServerCe.SqlCeException MessageBox.Show(ex.Message) End Try End Function设计控件代码的过程包含了在.NET 控

51、件栏中拖入设计窗体控件,在后台写入控件触发事件代码,如图 7 所示:第 14 页 共 20 页图 7 界面控件设计界面控件按钮功能实现代码:Private Sub btOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btOK.Click Dim slocalDatabaseName As String Dim AppPath As String Dim boolCreateNewDatabase As Boolean = True AppPath = System.IO.Path.GetD

52、irectoryName(Reflection.Assembly. _ GetExecutingAssembly().GetName.CodeBase.ToString()slocalDatabaseName = AppPath & AccessMsg.sdfIf System.IO.File.Exists(slocalDatabaseName) Then boolCreateNewDatabase = False End If Dim conNwindCE As Data.SqlServerCe.SqlCeConnection = New Data.SqlServerCe.SqlCeConn

53、ection(Data source = & slocalDatabaseName) Dim Name As String = Me.txtName.Text Dim Number As String = Me.txtNum.Text conNwindCE.Open() Dim cmdData As Data.SqlServerCe.SqlCeCommand = New Data.SqlServerCe.SqlCeCommand(INSERT INTO Aceepter (ID,Name,Type) VALUES( & Name & , & Number & ,), conNwindCE)cm

54、dData.CommandType = Data.CommandType.Text cmdData.ExecuteNonQuery()conNwindCE.Close()LoadData()End If第 15 页 共 20 页4.4.2远程数据访问远程数据访问RDA 为基于.NET Compact Framework 的 Pocket PC 应用程序提供了与远程SQL Server 数据库实例进行数据同步的简单方法。RDA 适用于简单的,不需要全功能的合并复制功能的数据同步,使用 RDA 不需要配置 SQL Server 的复制器和发布器。使用 RDA 技术中的 PULL 操作向远程数据库中

55、的服务器接收数据。在Pocket PC 中完成对信息接收的操作:Public Class RDAPublic Shared Sub pull() Dim _strRemoteConnect As String _strRemoteConnect = provider = sqloledb;data source =.;Initial Catalog = MsgInfo;Integrated Security=SSPI;Dim AppPath As String Dim _strLocalConnect As String AppPath = System.IO.Path.GetDirector

56、yName(Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase.ToString() _strLocalConnect = data source= & AppPath & AccessMsg.sdf Const _strInternetURL As String = http:/127.0.0.1/sqlce/sscesa20.dllTry Dim RDA As Data.SqlServerCe.SqlCeRemoteDataAccess = New Data.SqlServerCe.SqlCeRemoteDataAcc

57、ess() RDA.InternetLogin = String.Empty RDA.InternetPassword = String.Empty RDA.InternetUrl = _strInternetURL RDA.LocalConnectionString = _strLocalConnect RDA.Pull(localMsgInfo, Select * from MsgInfo, _strRemoteConnect, System.Data.SqlServerCe.RdaTrackOption.TrackingOnWithIndexes) Catch ex As Data.Sq

58、lServerCe.SqlCeException MessageBox.Show(ex.Message) End Try End Sub使用 RDA 技术中的 PUSH 操作向远程数据库中的服务器发送数据。在Pocket PC 中完成对信息发送的操作: Public Shared Sub push() Dim _strRemoteConnect As String _strRemoteConnect = provider = sqloledb;data source =.;Initial Catalog = MsgInfo1;Dim AppPath As String Dim _strLoca

59、lConnect As String AppPath = 第 16 页 共 20 页System.IO.Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase.ToString() _strLocalConnect = data source= & AppPath & AccessMsg.sdf Const _strInternetURL As String = http:/127.0.0.1/sqlce/sscesa20.dll Dim RDA As Data.SqlServerC

60、e.SqlCeRemoteDataAccess = New Data.SqlServerCe.SqlCeRemoteDataAccess() Try With RDA .InternetLogin = String.Empty .InternetPassword = String.Empty .InternetUrl = _strInternetURL .LocalConnectionString = _strLocalConnect .Push(localMsgInfo1, _strRemoteConnect, System.Data.SqlServerCe.RdaBatchOption.B

61、atchingOn)End With Catch ex As Data.SqlServerCe.SqlCeException MessageBox.Show(ex.Message)End TryEnd SubEnd Class5 5测试和结果测试和结果5.15.1 测试测试在系统搭建起后通过使用部署 Pocket PC 2003 模拟器进行测试,首先从Visual Studio.NET 菜单栏的“调试”来进行调试,运行代码调试无误,在部署对话框中选择 Pocket PC 2003 SE 仿真模拟器,单击“部署”按钮,系统加载 Pocket PC 2003 模拟器,并在模拟器上运行 SQLCEC

62、F 应用程序,当测试环境报错,则开发者一定要注意查看报错代码和报错的信息,以便准确诊断出错的原因,然后根据错误类型重新配置 IIS 服务,SQL Server 2000 数据库发布或修改 SQL Server CE 上 AccessMsg.sdf 的源程序。部署成功后 Pocket PC 2003 模拟器上可以输入相应的内容:用户名,信息和用户号码来模拟手机的功能。在模拟器中还有个很重要的步骤:在模拟器中确定 SQLCE 本地数据库是否建成,因为 SQLCE 数据库的实现不能通过控制台建立,这是它与 SQL Server 2000 的一大区,这一点可以通过 SQL Server CE 2.0

63、的查询分析器 ISQLW 查询信息,SQLCE 数据库可以通过在 Visual Studio.NET 里通过代码来实现。在模拟器中找到路径就能连接上本地数据库,通过 PPC 显示屏能查看本地数据库。5.25.2 结果结果本文主要基于 Pocket PC 上开发的信息通信系统。并基本实现了框架下的相关功能,对本地数据库和远程数据库的操作。第 17 页 共 20 页部署完成后可以进行系统功能的实现,发送方通过向 Pocket PC 添加信息,模拟手机上写入信息的功能,再通过相应的按钮把信息发送到远程数据库中,这个操作是与 RDA 技术中 PUSH 操作相联系。当发送完成后接收方通过按钮操作可从远程

64、数据库中把信息接收到本地数据库中,并通过 Pocket PC 显示出来,从而完成信息的发送和操作。同样的可以通过 PULL 操作完成从数据库中接收数据。该设计无论是向本地数据库还是远程数据库发送数据或者接收收据,都能通过 SQL 查询语句向数据库查询信息。在实现这一传输过程上,只是考虑一种乐观的操作,不考虑任何系统环境的冲突。如过系统环境存在冲性则需要采用合并复制的功能来达到数据传输的同步。在系统完成后能够较为清晰的为用户反映出手机的通信原理,模拟器也能较为生动的展现手机短信息发送和接收的流程。Pocket PC 设备的最大特性就是移动性和离线性。当在远程数据库和智能设备之间传递数据时,需要选

65、择数据库间的迁移。本系统还存在诸多的缺点有待改进,主要表现在以下几方面:1. 不能实现多个 Pocket PC 之间信息的交流,只能做到一对一的通信方式,失去完全模拟真实手机工作的情景。2. 数据库设计不够完善使系统缺少很多相应的功能,造成系统仅能完成单一数据间的传输。3. 采取了乐观的传输技术,没有考虑系统环境冲突,使系统只能在乐观简单条件下实现其功能。4. 整个系统开发的不够完善,不能完全独立形成一个实用系统。以上不足之处是今后工作的重点。在今后的研究中将就上述的四个方面作深入的研究。结结 论论本系统设计从开始到现在,大约花了 4 个月。到目前为止基本功能已经实现。远程数据库采用 SQL

66、Server 2000,它功能强大,可操作性强,本地智能设备上采用的是 Microsoft SQL Server 2000 Windows CE Edition(即 SQL Server CE 2.0)通过对系统的开发更熟练的掌握了两种数据库的功能和特性,特别是 SQL Server CE 数据库的开发。在开发该系统时,本人对智能设备项目和 SQL Server CE 数据库不熟悉,再加上毕业设计时间有限,所以走了一段弯路才找着实施方向,因此许多方面在下一步的工作中还需要进一步的完善。1. 实现多台 Pocket PC 2003 之间的相互访问。2. 增加在 Pocket PC 2003 上的功能,使之完善成为一个小的系统功能。第 18 页 共 20 页参考文献参考文献1 张冬泉,谭南林,王雪梅,焦风川. Windows CE 实用开发技术M.北京:电子工业出版社 2006.42 方睿,刁仁宏,吴四九. 网络数据库原理及应用M.成都:四川大学出版社 2005.83 颜友宁. .NET Compact Framework 移动开发指南M.北京:清华大学出版社 20064 刘瑞新,汪远征.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!