学院首页>网络编程>ASP.NET>透过vs.net数据窗体向导看Ado.net

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

作者: 来源: 添加时间:2006-5-21 19:59:26
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 事件,当将某控件的属性绑定到某个数据值时发生。

第 4 页,共 4 页 [1] [2] [3] [4]
站内搜索