快速业务通道

透过vs.net数据窗体向导看Ado.net

作者 凌众技术 来源 互联网 浏览 发布时间 2012-01-14

 


 

  this.BindingContext[objMyDataSet,"Products"].EndCurrentEdit();

  // 获取对主数据集所做的更改。

  objDataSetChanges = ((WindowsApplication1.MyDataSet)(objMyDataSet.GetChanges()));

  // 检查是否做了任何更改。

  if ((objDataSetChanges != null))

  {

  try

  {

  // 需要做一些更改,所以尝试通过调用 update 方法

  // 和传递数据集以及任何参数来更新数据源。

  this.UpdateDataSource(objDataSetChanges);

  objMyDataSet.Merge(objDataSetChanges);

  objMyDataSet.AcceptChanges();

  }

  catch (System.Exception eUpdate)

  {

  // 在此处添加错误处理代码。

  throw eUpdate;

  }

  // 添加代码以检查返回的数据集中是否有任何可能已被

  // 推入到行对象错误中的错误。

  }

  }

 

  更新过程很经典,通过获取修改过的数据集更新子集提交到数据源完成更新动作,接着合并子集到原有数据集,顺便提一下,合并的过程是基于数据表主键来判断的。通过调用DataSet.AcceptChanges()方法提交自加载此 DataSet 或上次调用 AcceptChanges 以来对 DataSet 进行的所有更改。对应的就是Data.RejectChanges();回滚自创建 DataSet 以来或上次调用 DataSet.AcceptChanges 以来对 DataSet 进行的所有更改。

  七.补充

  对于数据的更新需要视程序环境而定,不能都通过获取子集再合并的方法,具体请看ADO.NET中的多数据表操作浅析—修改一文。也有人问起怎样实现这样的功能:在数据库中的某一个字段数据为0或1,而在程序显示上想让它显示为是或否,这里我认为最好不要在Sql语句上做文章,代替的方法就是使用Binding对象的Format 事件和Parse事件。Binding.Format 事件,当将某控件的属性绑定到某个数据值时发生。

  Binding.Parse 事件,在数据绑定控件的值更改时发生。还有可以通过BindingManagerBase.PositionChang

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号