C# DataSet.AcceptChanges-Methode

黄舟
Freigeben: 2017-02-21 11:11:51
Original
1310 Leute haben es durchsucht

DataSet.AcceptChanges-Methode:
Übernimmt alle Änderungen, die an diesem DataSet seit dem Laden oder seit dem letzten Aufruf von AcceptChanges vorgenommen wurden.
Sowohl die DataRow- als auch die DataTable-Klasse verfügen über die AcceptChanges-Methode. Durch den Aufruf von AcceptChanges auf der DataTable-Ebene wird die AcceptChanges-Methode für jede aufgerufene DataRow aufgerufen. Ebenso führt der Aufruf von AcceptChanges für ein DataSet dazu, dass AcceptChanges für jede Tabelle im DataSet aufgerufen wird. Daher können Sie die Methode auf mehreren Ebenen aufrufen. Wenn Sie AcceptChanges des DataSets aufrufen, können Sie die Methode einmal für alle sekundären Objekte (z. B. Tabellen und Zeilen) aufrufen.
Wenn AcceptChanges für ein DataSet aufgerufen wird, beendet jedes DataRow-Objekt, das sich noch im Bearbeitungsmodus befindet, seine Bearbeitung erfolgreich. Die RowState-Eigenschaft jeder DataRow wird ebenfalls geändert; hinzugefügte und geänderte Zeilen werden unverändert und gelöschte Zeilen werden entfernt.

Wenn das DataSet ein ForeignKeyConstraint-Objekt enthält, führt der Aufruf der AcceptChanges-Methode auch dazu, dass die AcceptRejectRule erzwungen wird.

Der Code lautet wie folgt (Assembly: System.Data (in 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);
	}
}
Nach dem Login kopieren

Das Obige ist C# DataSet .AcceptChanges Der Inhalt der Methode. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!