透过vs.net数据窗体向导看Ado.net
// 获取对主数据集所做的更改。
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 事件,当将某控件的属性绑定到某个数据值时发生。
你有email邮箱吗?经常收到垃圾邮件而烦吗?立即使用邮箱LOGO在线制作酷Email logo图片











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面