基于手机短信平台聊天程序的设计与实现_第1页
基于手机短信平台聊天程序的设计与实现_第2页
基于手机短信平台聊天程序的设计与实现_第3页
基于手机短信平台聊天程序的设计与实现_第4页
基于手机短信平台聊天程序的设计与实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Anhui Vocactional & Technical College of Industry & Trade毕毕 业业 论论 文文基于手机短信平台聊天程序的设基于手机短信平台聊天程序的设计与实现计与实现The design and implementation of chat program based on mobile phone SMS platform 所在系院: 计算机系 专业班级: 计算机数字媒体班 学生学号: 2014030320 学生姓名: 余率 指导教师: 商杰 年 月 日Anhui Vocactional & Technical College

2、 of Industry & Trade毕毕业业设设计计说说明明书书基于手机短信平台聊天程序的设基于手机短信平台聊天程序的设计与实现计与实现The design and implementation of chat program based on mobile phone SMS platform 所在系院: 计算机系 专业班级: 计算机数字媒体班 学生学号: 2014030320 学生姓名: 余率 指导教师: 商杰 年 月 日基于手机短信平台聊天程序的设计与实现基于手机短信平台聊天程序的设计与实现摘要摘要 本文介绍了在.NET2005 平台上,通过 Pocket PC 模拟器,在

3、PC 机上模拟手机短信息的发送和接收过程。系统使用 SQL Server CE 和 SQL Server 2000 数据库来存储数据,同时利用 ADO.NET 数据库访问技术和使用 VB.NET 编程语言。在对远程数据库进行访问时使用了 RDA 的技术。系统通过引用 System.Data.SqlServerCe 组件在 Pocket PC 2003 模拟器上创建本地 SQL Server CE 数据库 AccessMsg.sdf 和表 MsgInfo,该表具有保存用户 ID 和信息的功能。通过在 Pocket PC 写入数据,能够保存在本地 SQL Server CE 数据库中。通过 RDA

4、 同步技术中的 PULL 和 PUSH 两个操作将数据保存到在远程数据库中。该系统能较清晰的展示智能手机短信息通信原理因此达到设计的目的。关键词关键词 : : 智能手机 ;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国内外研究现状.11.3本课题研究方法.11.3.1 开发平台 Visual Studio .NET.21.3.2SQL Server CE 数据库.21.3.3C/S结构.3 第一章 系统需求分析.41.1功能需求.41.2性能需求.41.3环境需求.51.4用户界面需求.5 第二章第二章 系统主体设计.52.1主体设计思路.52.2设计结构.62.2.1系统功能模块结构.72.2.2系统数据库设计.8 第三章第三章 系统实现.9 3.1程序设计语言.9 3.2开发环境搭建.932.1配置SQL Server 2000数据库.93.2.2安装及配置SQL Server CE.9 3

9、.3创建本地设备上的数据库.10 3.4系统设计代码.113.3.1本地数据库访问.113.3.2远程数据访问.15 第四章第四章 测试和结果.16 4.1测试.16 4.2结果.17结论.18致谢.19参考文献.20第 0 页 共 20 页引言引言1.1 课题背景课题背景移动智能设备,智能信息管理,多媒体信息交流正成为未来移动通信发展的方向和通信技术进步的潮流。无线移动设备结合了手机通信和 PDA 功能更成为现代移动设备的发展方向。这种发展方向意味着无线通信业和 IT 行业正在进入融合和相互的创新。一种整合了手机通信平台和 PDA 平台的代表现在潮流的移动电话正在普及和发展。人们将这种融合的

10、产品统称为智能手持设备(Smart Handheld Device,简写为 SHD)也称为掌上智能手机。更多时候 SHD 被赋予一个更为大家了解和接受的名字 Smart Phone(智能电话) 。智能手机包括娱乐和商务两大功能,特别是其商务功能。智能移动信息终端提供了先进的集个人通信,个人信息管理,互联网接入等一体化功能。其中 Symbian,Windows CE,Plam,Linux 是智能手机的四大操作系统,我们目前最常使用的 Windows CE主要分为 Pocket PC 和 Smart Phone 系列两种。通常 Pocket PC 并不是单一的手机操作系统,但是可以通过改造和整合后

11、,可用与多款手机如大显CU9288,多普达 M700,厦新 M696。在提到智能手机的操作系统,就不得不涉及到智能手机的开发平台。目前,智能手机的开发平台主要有 JAVA,BREW 和.NET。其中.NET 框架是一个用于生成,部署,运行 XML Web 服务及其他应用程序的环境。它包含三个主要部分:公共语言运行库,框架类和 ASP.NET。在.NET 中有一套编程接口,用于开发者对智能手机和 PDA 的开发。.NET 技术是为人所用,并不是强制个人适应起计算机的限制。利用.NET,无论什么时候,什么地方都能对你设备上的信息进行管理,对远程的数据进行访问。1.2 国内外研究现状国内外研究现状通

12、过对文献和资料的整理查阅,国内对 Pocket PC 的研究和实践正是起步时期,但成绩较为显著。很多国内智能手机开发商都在利用相关技术对该系统进行开发并将此运用到实践和商业环境中。在国外已经发展的相当成熟,也将此技术更多的使用在 3G 通信中,更能体现出智能手机的人性化,智能话,开放化。1.3 本课题研究方法本课题研究方法.1 开发平台开发平台 VisualVisual StudioStudio .NET.NETVisual Studio .NET 的 Smart Device Programmability(SDP)功能(以前称作 Smart Device Extension

13、sSDE)可以帮助开发人员利用 Microsoft NET Compact Framework 编写移动应用程序,从而在连接或短开外部设备的情况下第 1 页 共 20 页启用分布式的移动计算。使用.NET Compact Framework 中提供的大量类库,开发者编写程序的速度得到很大的提高,使用 Visual Studio .NET2005,开发者可以在桌面系统中用到的相同工具和技术来开发 Pocket PC 2003(具备相应的SDK)以及 Smart Phone2003。它将安装.NET Compact Framework,这是专门为资源有限的设备设计的。开发者可以使用 C#语言或者

14、Visual Basic.NET 语言来开发移动和嵌入式设备。除此之外它还能很好的应用于 XML Web Service 或ADO.NET 的应用程序。1.3.2 SQL Server CE 数据库数据库Microsoft SQL Server 2000 Windows CE Edition(SQL Server CE)2.0 版是精简的数据库,Microsoft SQL Server 扩展到基于 Windows CE 的移动设备,并将开发者的快速应用程序开发提供一个一致的编程模型。SQL Server CE 不同于 Windows CE 操作系统本身的属性数据库,它是一个真正意义上的关系数据

15、库,它具有强大的数据存储功能,优化查询处理器,以及可靠,可伸缩的连接能力。SQL Server CE 的引擎提供了关系型数据库的基本功能。远程数据访问和合并复制,确保 SQL Server 数据库中的数据不仅可以可靠的提交给用户,而且能够离线修改并在以后的时间内与服务器进行数据同步。SQL Server CE2.0 还包括新的特性。使用 SDE 处理数据与通过 eMbedded Visual Basic 处理数据的差别很大。如果采用 eMbedded Visual Basic,可以使用两种类型的数据库Pocket Access 和 SQLCE。许多的开发者选择使用 Pocket Access,

16、因为它容易实现,而且与 Microsoft Access 相集成。而 SDE 只支持 SQLCE 在 eMbedded Visual Basic 中,你具有 ADOCE。SDE 提供 ADO.NET。SQL Server 远程数据访问:远程数据访问(RDA)为 Pocket PC 应用程序提供了功能强大而简单的方法,来访问位于远程的 SQL Server 2000 或者 SQL Server 7.0 数据库中的 SQL Server 数据。不论 Pocket PC 是连续还是间歇地连接到 SQL Server 系统,均可使用 RDA。应用程序以两种方式使用 RDA:一种是应用程序提交数据操作语

17、言(DML)语句,该语句被转交到 SQL Server 服务器上执行。另一种是应用程序提供返回查询结果集的 SQL 查询语句。查询结果集被返回给 Pocket PC 设备,并以数据库表的形式存储在 SQL Server CE 数据库里。RDA 能跟踪 Pocket PC 应用程序所做的所有更改。RDA 使用 Microsoft Internet 信息服务(IIS)的身份验证,授权和加密服务。1.3.3 C/S 结构结构C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配第 2 页 共 20 页到

18、Client 端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是 Client/Server 形式的两层结构,由于现在的软件应用系统正在向分布式的 Web 应用发展,Web 和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的 CS 体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是 Client 端,还是Server 端都还需要特定的软件支持。由于没能提供用

19、户真正期望的开放环境,C/S 结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。第 3 页 共 20 页第第 1 1 章章 系统需求分析系统需求分析1. 1 功能需求功能需求综合运用所学知识开发一种基于 PC 机的手机短信通信系统,侧重在于模拟手机短信通信的过程。通过在客户端输入信息能够访问本地数据库,即在本地数据库 SQLCE 上能查看信息;通过 RDA 的技术,执行 PULL 操作(从远程数据库服务器接受数据)和 PUSH 操作(向远程数据库服务器发送信息)访问远程数据库。客户端即模拟器应用功

20、能需求:对数据和信息的添加,删除功能:完成对用户 ID,发送和接收信息的添加,删除。对信息的发送和接收功能:完成对信息的发送和接收,访问本地数据库和远程数据库。用户可以在 Pocket PC 完成和手机上同样的操作,向 Pocket PC 中输入接收方 ID 和信息,通过 RDA 技术将用户的信息发送到远程服务器上,同样也可以从远程服务器上接收信息。Pocket PC 上存储数据实际上是对本地数据库 SQLCE 的操作,通过按钮控件把相关的信息存储到本地数据库中,用户 ID,信息,用户名,同样也可以删除本地数据库里的信息。Pocket PC 对远程数据库的访问需要使用 RDA 的同步技术,运用

21、 PULL 和PUSH 操作分别从远程的服务器接收数据和向远程服务器发送数据。服务器端即 SQL Server 2000 数据库的功能需求:保存和接收用户 ID,用户名,信息。为方便开发者可以使用 SQL Server 查询语言,查询数据库中保存的数据,可通过使用 SQL 语句完成对远程数据库的操作。该功能可以方便开发者修改数据库中的数据,使远程数据库拥有更大的拓展性。通过完善远程数据库的存储能力从而达到对 Pocket PC 离线开发的更大功能。1.2 性能需求性能需求该设计最大存储容量为用户存储容量和信息存储容量。用户存储容量中包含了用户 ID(即手机号码)和姓名,其容量允许用户随时添加和

22、删除存储信息,但用户存储容量最高为 50 个字符,信息存储容量为 100 个字符。该设计由于是在 PC 机上模拟 PPC 通信,其运行的时间受其搭建的系统平台环境的影响(主要是开发机的硬件环境影响)。一般从程序调试运行到模拟器第 4 页 共 20 页部署成功要花 2 至 3 分钟时间。安全性方面由于系统平台搭建时均采用默认值,因此在使用该系统时不会存在使用过程中的保密限制。任何用户只要在系统正常情况下都可使用。当程序运行中同时要考虑网络环境的配置。如果网络出现问题,Pocket PC可以正常访问 SQLCE 本地数据库,而暂时不能访问 SQL Server 2000 远程数据库,信息将保存暂时

23、保存在 SQLCE 本地数据库上。在 RDA 访问远程数据库中是一种乐观的同步访问方式,但当发生冲突或错误的时候,需要开发者手动维护数据完整性。在此情况下可用合并复制的技术完成对设备的同步访问。1.3 环境需求环境需求该设计完成需要硬件环境和软件环境的支持。(1) 硬件环境:主机上采用一般的个人 PC,其硬件核心在于处理器和内存,硬盘有效空间在 4G 以上。(2) 软件环境:操作系统为 Windows Server 2003 ;在网络环境上另需安装 IIS 信息服务器;数据库为 SQL Server 2000 sp4 和 SQL Server 2000 Windows CE Edition 2

24、.0(SQL Server CE),开发工具为 Visual Studio.NET2005。1.4 界面需求界面需求为使该设计可行,可靠,其界面设计要求简单,方便,且具有人性化的操作界面,系统功能可以良好的功能按钮相结合。使用 Send,accept,添加,删除四个按钮控制相关的功能;TextBox 控件用来分别显示信息和用户 ID,用户名。整个界面简单,醒目,且有效。第二章第二章 系统主体设计系统主体设计2. 1 主体设计思路主体设计思路本系统主要使用 SQL Server CE 数据库和 SQL Server 2000 数据库,通过引用 System.Data.SqlServerCe 组件

25、创建 SqlConnection 实例利用代码在Pocket PC 2003 模拟器上创建本地数据库表:MsgInfo。对远程 SQL Server 2000 数据库的访问通过 RDA 技术需要 System.Data.SqlClient 的引用完成 PULL操作和 PUSH 操作。在对 Pocket PC 上存储数据实际上是对本地数据库的操作,通过代码在编辑环境中创建出本地数据库 AccessMsg.sdf,该数据库是个精简版的 SQL Server 数据库,同样是个关系型数据库,同时通过代码在 SQLCE 中创建表MsgInfo,表中列属性为用户 ID(SendID,AcceptID)和

26、Message,分别用来存储第 5 页 共 20 页用户信息和发送接收的信息。整个系统的开发除了建立数据库外,在实现功能代码上要创建一个SQLCECF 的实例。使数据库能够支撑整个系统功能实现。在 Pocket PC 上其界面设计思路是尽量简单,但能满足系统需求。控件上的设计简洁,明了。使模拟器和真实的手机操作界面相似,到达界面设计的需求。在发送端的模拟器上显示接收端的 ID 和 Message,在接收端的模拟器上显示发送端的 ID 和同样的 Message,使模拟器功能上和真实手机一致。在实现对远程数据库 SQL Server 2000 访问时主要采用 RDA 的同步技术。运用 PULL 和

27、 PUSH 操作分别从远程的服务器接收数据和向远程服务器发送数据。在运用 RDA 时由于是一种乐观的访问方式,而没有考虑系统环境存在的冲突,当访问不成功时,数据会暂时保存在本地数据库中,其实质也是对本地数据库的操作。当系统环境通畅后再一次对数据进行 PULL 和 PUSH 操作就能访问远程数据库。系统整体运行模式:通过一台 Pocket PC 向另一台 Pocket PC 传送信息,首先发送方将信息写入 Pocket PC 中即完成对发送方本地数据库的操作,在通过 PUSH 操作向远程数据库中发送数据,接收方再通过 PULL 操作从远程数据库接受数据,此时信息将保存在接收方本地数据库中,通过相

28、应的查询操作完成对接收方本地数据库的访问。同时需要考虑此传输过程是一种乐观的传输过程。2.2 设计结构设计结构系统设计结构图和 RDA 功能结构图如图 1,图 2 所示智能通讯设备智能通讯设备SQL Server CESQL Server CESQL Server 2000图 1 系统结构图第 6 页 共 20 页 第 7 页 共 20 页 图 2 RDA 功能系统结构图2.2.1 系统功能模块结构系统功能模块结构系统总体功能模块如图 3 所示:短信通信系统 图 3 系统功能模块(1)发送方包含了接收方的 ID 号和待发信息,接收方的 ID 号以列表的方式展现在发送方。(2)接收方包含了发送方

29、的 ID 号和接收信息(即发送方发出的信息) 。(3)发送方通过模拟器软件盘写入信息,通过添加删除功能完成信息写入与发送。(4)通过 RDA 技术可以访问在远程 SQL Server 2000 数据库中表内信息。发送方接收方信 息接收方 ID发送方 ID信 息第 8 页 共 20 页2.2.2 系统数据库设计系统数据库设计在 SQL Server 2000 企业管理器中创建数据库 mysqlce 和表 MsgInfo1(如表 1)所示 表 1 数据库表 MsgInfo1使用 SQLCE 通过代码在智能设备 Pocket PC 2003 上创建数据库AccessMsg.sdf 和表 Ppc1(如

30、表 2,图 4 所示) 表 2 本地数据库表 Ppc1图 4 Pocket PC 上创建的本地数据库列 名类 型长 度特 性SendIDnvarchar50NOT NULLAcceptIDnvarchar50NOT NULLMessagenvarchar100 NULLDateTimetime8NOT NULL列 名类 型长 度特 性SendIDnvarchar50NOT NULLAccepterIDnvarchar50NOT NULLMessagenvarchar100NULL第 9 页 共 20 页第三章第三章 系统实现系统实现3.1 程序设计语言程序设计语言Visual Basic.NE

31、T 是新一代的 Visual Basic 语言,它是一种简便快捷地创建.NET 应用程序(包括 XML Web services 和 ASP.NET.Web 应用程序)的语言 Visual Basic.NET 具有许多新的功能和改进功能(如继承,接口和重载),这使 Visual Basic.NET 成为功能强大的面向对象的编程语言,其他新的语言功能包括自由线程处理和结构化异常处理。Visual Basic.NET 还完全集成了.NET Framework 和公共语言运行苦,.NET Framework 和公共语言运行库,共同提供语言互操作性,垃圾回收,增强的安全符合性和改进的版本支持。Visu

32、al Basic 开发者现在可以使用显示多线程处理创建多线程可伸缩的应用程序。Visual Basic.NET 中其他的新语言功能包括结构化异常处理,自定义属性和符合公共语言规范(CLS)。CLS 是对诸如数据类型之类的事物以及对象的公开和交互操作方式进行标准化的一组规则。Visual Basic.NET 添加了几项利用 CLS 优势的功能,任何符合 CLS 的语言都可以使用在 Visual Basic.NET 中创建的类,对象和组件。Visual Basic 用户可以从其他符合 CLS 的编程语言访问类,组件和对象,而不用担心诸如数据类型之类的语言特定的差异,Visual Basic.NET

33、 程序使用的CLS 功能包括程序集,命名空间和属性。Visual Basic.NET 支持许多新的或改进的面向对象语言功能,如重载,继承,Overrides 关键字,接口,共享成员和构造函数,还包括结构化异常处理,委托以及几个新的数据类型。3.2 开发环境搭建开发环境搭建3.2.1 配置配置 SQL Server 2000 数据库数据库安装使用设备上的移动数据库,首先要安装 SQL Server,因为使用 SQL Server 可以进行远程数据访问(RDA)和合并复制两种方式的同步数据。RDA 访问功能支持与 SQL Server7.0(和更高版本)数据库的连接,合并复制则要求后端必须是 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)数据库安装在开发用的 PC 机上(即服务器名 9PYAC859FD7PXWY)。如果仅仅创建本地数据库,则选择(Development Tools)安装即可;要使

35、用第 10 页 共 20 页SQL Server CE 的远程数据访问(RDA)和复制技术,除了安装以上外,还需要选择(Server Tools)安装。安装 SQL Server CE 2.0 服务器工具程序,通过在运行 IIS 的计算机上运行 SQL Server CE 服务器工具安装程序之一,自动安装 SQL Server CE 连接管理实用工具和 SQL Server CE 虚拟目录创建向导。安装结束时,可以转到“开始”菜单,指向“程序” ,单击“Microsoft SQL Server CE2.0”然后单击“配置 IIS 中的连接支持” 。在 SQL Server CE 管理实用工具的

36、右窗格中双击“创建虚拟目录”向导。将虚拟目录名为“sqlce”,将文件 sscesa20.dll 拷贝到该目录下(在这一步中要先在你设定的目录下建立一个物理文件夹并将该文件夹设置为共享文件夹,并修改该文件夹的使用权限,当在创建虚拟目录时文件夹路径会自动映射到该物理文件夹下) ,运行 cmd.exe,转到C:Inetpubwwwrootsqlce 目录下,然后键入“regsvr32 sscesa20.dll”将COM 组件注册到 DLL 中,在 Pocket PC 2003 模拟器的地址栏输入http:/9PYAC859FD7PXWY/sqlce/sscesa20.dll 测试连接到服务器9PY

37、AC859FD7PXWY 是否成功。如果数据库安装正确,将得到一个包含 SQL Server CE Agent 的 Web 页面。需要注意一点:在配置环境时尽量先不要对整个操作系统安装杀毒软件和其他的防护性软件,以免安装快照文件夹时失败,并提示开发者找不到网络路径。在本设计中由于要访问远程数据库,因此不仅需要运用 RDA 方法来实现SQL Server 数据库与本地 SQL Server CE 数据库之间同步数据操作,还需要安装(Server Tools)才能访问远程数据库。3.33.3 创建本地设备上的数据库创建本地设备上的数据库创建本地数据库 AccessMsg.sdf 和表 Ppc1 代

38、码如下:创建SQL Server CE 数据库 Private Sub CreatemyDB() Dim boolCreateNewDatabase As Boolean = True Dim slocalDatabaseName As String Dim AppPath As String 返回Pocket PC应用程序路径 AppPath = System.IO.Path.GetDirectoryName(Reflection.Assembly. _ GetExecutingAssembly().GetName.CodeBase.ToString() slocalDatabaseName

39、 = AppPath & AccessMsg.sdf 检查数据库文件是否存在 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 数据库 Dim localconnection As Data.SqlServerCe.SqlCeConnection localconnection = New Data.SqlServerCe.SqlCeConnection(Data source = & slocalDatabaseName) localconnection.Open()创建数据库表 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 系统设计代码系统设计代码3.4.1 本地数据库访问本地数据库访问本地数据访问如图 4-1 所示通过对本地数据库的访问可以知道本地数据库上保存的相关信息。可以通过 S

43、QL Server CE 2.0 的查询分析器 ISQLW 查询信息,如图 5 所示第 12 页 共 20 页图 5 ISQLW 查询分析器本地数据库访问界面,如图 6 所示图 6 发送和接收过程界面通过向数据表中插入数据的公共过程可更改数据库中的数据:向数据表插入数据的公共过程 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该段代码实现当数据差入后使用 DataReader 和 DataSet 进行读取数据库数据: 使用DataReader访问数据 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) 获取数据 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访问数据 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) 获取数据 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设计控件代码的过程包含了在.NET 控件栏中拖入设计窗体控件,在后台写入控件触发事件代码,如图 7 所示:第 14 页 共 20 页图 7 界面控件设计界面控件按钮功能实现代码: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 远程数据访问远程数据访问RDA 为基于.NET Compact Framework 的 Pocket PC 应用程序提供了与远程SQL Server 数据库实例进行数据同步的简单方法。RDA 适用于简单的,不需要全功能的合并复制功能的数据同步,使用 RDA 不需要配置 SQL Server 的复制器和发布器。使用 RDA 技术中的 PULL 操作向远程数据库中的服务器接收数据。在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 技术中的 PUSH 操作向远程数据库中的服务

57、器发送数据。在Pocket PC 中完成对信息发送的操作: 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第四章第四章 测试和结果测试和结果4.14.1 测试测试在系统搭建起后通过使用部署 Pocket PC 2003 模拟器进行测试,首先从Visual Studio.NET 菜单栏的“调试”来进行调试,运行代码调试无误,在部署对话框中选择 Pocket PC 2003 SE 仿真模拟器,单击“部署”按钮,系统加载 Pocket PC 2003 模拟器,并在模拟器上运行 SQLCECF 应用程序,当测试环境报错,则开发者一定要注意查看报错代码和报错的信息,以便准确诊断出错的原因,然后根据错误类型重新配置 IIS 服务,SQL Server 2000 数据库发布

温馨提示

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

评论

0/150

提交评论