Microsoft CSIP WindowsMobile MEDC 合作伙伴 体验中心 设Winbile为首页 加Winbile到收藏夹

 
登录       点击换一张     注册新用户 找回密码

Windows Mobile访问SQL Server CE 3.5(2)
2008年08月13日09:19   作者:AppleSeeker 来源: 博客 浏览: 202

篇文章主要介绍在设备中访问本地数据库的一种方法,通过使用SqlCeResultSet方式来更快、更有效的访问数据库。

 

通过使用数据源来操作数据库访问,一般使用DataSet和SqlCeResultSet

到底选择哪一个更好呢?

 

DataSet和SqlCeResultSet都能作为数据源用在数据绑定,或者就直接作为操作数据库的一种方法,到底它们有哪些差异呢?DataSet对象的功能非常丰富,而且可以将数据存储在不同的DataTable中,其中每一个都由Column组成,而每行数据则由DataRow来描述。DataSet还能用于对应表的数据约束(是否为空等),还可以描述表之间的关系(主外键对应),类似于一个关系型的数据库。能够保存所有从数据库来的数据,并且可以将改变的值保存起来,并由行状态来区别,可以临时保存数据。

 

相对而言,SqlCeResultSet有很大不同,它不存储数据,可以直接读取数据、也可以直接更新数据,所以说是一个轻量型的数据访问对象。

 

DataSet应用可以用作分布式程序、离线访问程序,用来数据传递。

在内存有限的设备中,访问本地的数据库,使用DataSet就很大的浪费资源了,此时SqlCeResultSet就有了很好的用武之地了。可以将SqlCeResultSet看成为一个功能的组合:DataSet 的可更新性和可滚动性以及与 SqlCeDataReader 类似的性能。

 

程序演示:

通过Get Data来读取数据,然后可以New、Update、Delete数据。

效果如下:

新增了1条SysNo为12的记录。

选择了SysNo为6的一行,按Update,然后该行的Qty和Price已发生变化。

选择SysNo为9的记录,按Delete,这该行被删除。

演示效果很简单,代码也很简单。

选择一个本地数据库,然后在工程中添加一个DataSet,选择好访问的表。在工程界面,选择好DataSet的XSD文件,然后在属性界面,修改Custom Tool(自定义工具)改为MSResultSetGenerator,这样DataSet就会改为SqlCeResultSet了,非常方便。而且生成的SqlCeResultSet为强类型的。

 

在Form_Load事件中先将对象实例化,传入连接字符串和操作方式。

1 private void Form1_Load(object sender, EventArgs e)
2 {
3     orderSet = new DeviceSQLDemo2.DBResultSets.OrdersResultSet(connString, ResultSetOptions.Scrollable | ResultSetOptions.Sensitive | ResultSetOptions.Updatable);
4 }
 

在绑定数据源时,只需要用SqlCeResultSet绑定一个数据源,在绑定到控件即可。

1 BindingSource bs = new BindingSource();
2 orderSet.Bind(bs);
3 this.dataGrid1.DataSource = bs;
 

新增时,只需要使用Add表名Record即可,修改和删除时,先要使用ReadAbsolute方法,先将游标移到对应行。

修改操作只需要对SqlCeReusltSet对象的属性修改即可,然后使用update方法,就会立刻更新数据库。

删除操作则使用Delete方法就可以删除游标所在行了。

 

本文主要介绍SqlCeResultSet的使用方法,使得大家能够在操作本地数据库时,提供程序的性能。


开发环境:VS2008+WM6.0


发表评论
评论标题 :
评论内容 :

    查看评论

请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。 本站拥有管理笔名和留言的一切权利。
相关文章推荐
· WinCE中的RAM-Based Registry与HIVE-Based Registry 2008-7-3  ARM-WinCE
· Windows Mobile下ROM定制的原理说明 2008-7-1  博客
· WinCE互操作时传递托管控件句柄的小技巧 2008-5-6  黄季东
· WinCE中的Flash分区和CheckSum点滴 2008-4-25  无
· Windows CE 内存管理 2008-4-25  无

  

论坛推荐  
热点活动
更多»

© CSIP 信息产业部软件与集成电路促进中心 All Rights Reserved 版权所有 京ICP备06020771号
联系电话:010-63951881-8003 王先生        邮件:wangj@csip.org.cn