欢迎光临
我们一直在努力

用C#开发PocketPC数据库应用程序-.NET教程,C#语言

建站超值云服务器,限时71元/月

摘要:本文讲解怎样使用pocket pc phone edition工具集迅速建立无线数据库应用程序。本文介绍的是使用visual c# 和sql server ce 2.0建立一个pocket pc phone edition应用程序。

新的移动计算时代开始了

   移动解决方案系统体系结构的一部分正在迅速成为现实。最先是很多公司不断意识到移动解决方案可以带来效率的提高和新的商业机会。顾客正在每天的生活中开始看到移动设备的使用。移动设备硬件,特别是新的pocket pc,正在引领企业和顾客需求的方向。把每种需求胶合在一起的关键就是新的软件和开发工具。

   我使用新的visual studio .net、smart device extensions和新的sql server? ce 2.0工作了几个月时间。这些软件组件与连接的(connected)pocket pc,例如pocket pc phone edition,提高了开发效率并且已经驱动了很多新的移动应用程序。

sql server ce的新特性

   总的来说,sql server ce反映了一种矛盾。作为移动设备的本地数据库,sql server ce支持不连接的环境。在大多数情况中,没有网络连接的pocket pc上运行的pocket pc应用程序需要本地数据存储。sql server ce也支持连接的环境,并且使数据向远程服务器或从远程服务器传递效率很高,无论是从开发还是从带宽来看。

   下面是sql server ce的部分特性:

· 为本地的sql server ce管理和远程的sql server连接与.net紧凑框架组件集成。

· 连接安装向导使sql server ce组件的安装简化。

· 大量的内部函数,包括很有价值的newid、char、charindex、unicode、len、ltrim、rtrim、space、 substring、identity、datalength等等。

· 联合(union,例如select * from orders union select * from oldorders)

· 使用远程数据访问牵引(remote data access pull)从远程服务器表索引得到数据的能力。

· 改良的sql server查询分析器(query analyzer)。

   新的sql server ce 2.0数据访问结构依赖下面名字空间中的类:

· system.data.sqlserverce(使用合并复制和远程数据访问管理本地数据库和远程服务器连接)。

· system.data.sqlclient(管理远程数据库并且包含对tsql和存储过程的支持)。

随着数据访问结构转移到.net紧凑框架组件,它里面的组件得到了改良,并且更容易使用了。例如,先前的合并复制初始化(merge replication initialize)、运行和终止大纲(schema)被一个单独的方法system.data.sqlserverce.replication.synchronize所代替,它在第一次同步的时候建立大纲并下载数据,接着提交修改过的数据,并在接下来的同步中下载修改过的数据。

新的远程数据访问(remote data access)类也有一定的改良,包含了从远程表索引取得数据的能力和为push方法定义批处理模式(batch-mode)的能力。我将介绍一个”高尔夫得分卡”示例应用程序,它是使用sql server ce 2.0、 远程数据访问和visual c#建立的。

示例应用程序:界面

示例应用程序golf anyplace可以运行在标准的pocket pc上,但是在实际的高尔夫球场上pocket pc phone edition的内建连接会有很大的好处。golf anyplace本质上是一个数字得分卡,它能跟踪你的得分和其它玩家的结果。其想法是每个打高尔夫的人使用pocket pc phone edition跟踪得分。因为每个人都能把自己的分数发送到远程服务器并下载他人的得分,所以能够经常看到比赛的过程。

下面是一些界面:

主窗体用于输入自己的得分。它也可以用于查看其它玩家的得分。

用C#开发PocketPC数据库应用程序-.NET教程,C#语言

     图1.输入自己的得分

synchronize命令把本地数据推入远程服务器,接着下载所有的远程得分数据。

用C#开发PocketPC数据库应用程序-.NET教程,C#语言

   图2.同步分数

你可以使用view窗体查看细节和整个比赛的情况。

用C#开发PocketPC数据库应用程序-.NET教程,C#语言

   图3.保持跟踪其它的玩家

示例应用程序:代码

下面我们看一看代码。在代码的某些位置,你可能注意到我使用不同的方法解决同一个问题。这些例子包括我怎样着手类的初始化,使用datareader还是dataset,填充listview,是否使用sql server ce包装等等。我希望这能对你有些帮助,某个方案在某种情况下工作得很好,在其它的环境中可能另一个方案更好。

启动

golf anyplace的启动对象是golfanyplace.rdagolf。下面是当启动应用程序时构造逻辑执行的操作:

public rdagolf() { initializecomponent(); //确定存在数据库 sqlservercewrapper sscewrapper = new sqlservercewrapper(); bool newdatabase = sscewrapper.createdatabase(); //如果新数据库被建立了,执行第一次下载数据 if(newdatabase==true) { //调用pull并且不保存本地数据 sscewrapper.pull(false); } //填充组合框 for(int icounter=1; icounter < 19; icounter++) this.cmbhole.items.add(icounter.tostring()); //把第一洞设置为默认的 this.cmbhole.selectedindex = 0; }

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用C#开发PocketPC数据库应用程序-.NET教程,C#语言
分享到: 更多 (0)