• 技术文章 >后端开发 >C#.Net教程

    C# DataSet.AcceptChanges 方法

    黄舟黄舟2017-02-21 11:11:51原创825
    DataSet.AcceptChanges 方法:
    提交自加载此 DataSet 或上次调用 AcceptChanges 以来对其进行的所有更改。
    DataRow 和 DataTable 类都具有 AcceptChanges 方法。 在 DataTable 级别调用 AcceptChanges,会为要调用的每个 DataRow 调用 AcceptChanges 方法。 同样,对 DataSet 调用 AcceptChanges 会导致对 DataSet 中的每个表调用 AcceptChanges。 照这样,您可在多个级别上调用该方法。 调用 DataSet 的 AcceptChanges 将使您只需调用一次,即可对所有次级对象(例如表和行)调用该方法。
    当对 DataSet 调用 AcceptChanges 时,任何仍处于编辑模式的 DataRow 对象都将成功结束其编辑。 每个 DataRow 的 RowState 属性也都更改;Added 和 Modified 行变为 Unchanged,Deleted 行被移除。

    如果 DataSet 包含 ForeignKeyConstraint 对象,则调用 AcceptChanges 方法还将导致强制实施 AcceptRejectRule。

    代码如下(程序集:System.Data(在 system.data.dll 中)):


    public void AcceptChanges()
    {
    	IntPtr intPtr;
    	Bid.ScopeEnter(out intPtr, "<ds.DataRow.AcceptChanges|API> %d#\n", this.ObjectID);
    	try
    	{
    		this.EndEdit();
    		if (this.RowState != DataRowState.Detached && this.RowState != DataRowState.Deleted && this._columns.ColumnsImplementingIChangeTrackingCount > 0)
    		{
    			DataColumn[] columnsImplementingIChangeTracking = this._columns.ColumnsImplementingIChangeTracking;
    			for (int i = 0; i < columnsImplementingIChangeTracking.Length; i++)
    			{
    				DataColumn column = columnsImplementingIChangeTracking[i];
    				object obj = this[column];
    				if (DBNull.Value != obj)
    				{
    					IChangeTracking changeTracking = (IChangeTracking)obj;
    					if (changeTracking.IsChanged)
    					{
    						changeTracking.AcceptChanges();
    					}
    				}
    			}
    		}
    		this._table.CommitRow(this);
    	}
    	finally
    	{
    		Bid.ScopeLeave(ref intPtr);
    	}
    }

    以上就是C# DataSet.AcceptChanges 方法的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!


    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:C# DataSet AcceptChanges
    上一篇:C# Table.Rows[index].Delete() 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• c语言本身有没有输入输出语句• c语言中源文件编译后生成什么文件• c语言中的标识符是由什么组成• c语言中case是什么意思• c语言中关键字有多少个
    1/1

    PHP中文网