Share via


Gegevensset-gebeurtenissen verwerken

Het DataSet object bevat drie gebeurtenissen: Disposed, Initializeden MergeFailed.

De gebeurtenis MergeFailed

De meest gebruikte gebeurtenis van het DataSet object is MergeFailed, die wordt gegenereerd wanneer het schema van de DataSet objecten die worden samengevoegd conflicteren. Dit gebeurt wanneer een doel en bron DataRow dezelfde primaire-sleutelwaarde hebben en de EnforceConstraints eigenschap is ingesteld op true. Als de primaire-sleutelkolommen van een tabel die worden samengevoegd bijvoorbeeld hetzelfde zijn tussen de tabellen in de twee DataSet objecten, wordt er een uitzondering gegenereerd en wordt de MergeFailed gebeurtenis gegenereerd. Het MergeFailedEventArgs object dat aan de MergeFailed gebeurtenis wordt doorgegeven, heeft een Conflict eigenschap die het conflict in het schema tussen de twee DataSet objecten identificeert en een Table eigenschap die de naam van de tabel in conflict identificeert.

Het volgende codefragment laat zien hoe u een gebeurtenis-handler toevoegt voor de MergeFailed gebeurtenis.

AddHandler workDS.MergeFailed, New MergeFailedEventHandler( _  
  AddressOf DataSetMergeFailed)  
  
Private Shared Sub DataSetMergeFailed(  _  
  sender As Object,args As MergeFailedEventArgs)  
  Console.WriteLine("Merge failed for table " & args.Table.TableName)  
  Console.WriteLine("Conflict = " & args.Conflict)  
End Sub  
workDS.MergeFailed += new MergeFailedEventHandler(DataSetMergeFailed);  
  
private static void DataSetMergeFailed(  
  object sender, MergeFailedEventArgs args)  
{  
  Console.WriteLine("Merge failed for table " + args.Table.TableName);  
  Console.WriteLine("Conflict = " + args.Conflict);  
}  

De geïnitialiseerde gebeurtenis

De Initialized gebeurtenis treedt op nadat de DataSet constructor een nieuw exemplaar van de DataSet.

De IsInitialized eigenschap retourneert true als de DataSet initialisatie is voltooid; anders wordt deze geretourneerd false. De BeginInit methode, die begint met de initialisatie van een DataSet, wordt ingesteld IsInitialized op false. De EndInit methode, die de initialisatie van de DataSetmethode beëindigt, stelt deze in op true. Deze methoden worden gebruikt door de Visual Studio-ontwerpomgeving om een DataSet die wordt gebruikt door een ander onderdeel te initialiseren. U gebruikt ze niet vaak in uw code.

De verwijderd gebeurtenis

DataSet is afgeleid van de MarshalByValueComponent klasse, die zowel de Dispose methode als de Disposed gebeurtenis weergeeft. Met Disposed de gebeurtenis wordt een gebeurtenis-handler toegevoegd om naar de verwijderde gebeurtenis in het onderdeel te luisteren. U kunt de Disposed gebeurtenis van een DataSet als u code wilt uitvoeren wanneer de Dispose methode wordt aangeroepen. Dispose publiceert de resources die worden gebruikt door de MarshalByValueComponent.

Notitie

De DataSet en DataTable objecten nemen over van MarshalByValueComponent en ondersteunen de ISerializable interface voor externe communicatie. Dit zijn de enige ADO.NET objecten die op afstand kunnen worden uitgevoerd. Zie voor meer informatie .NET Remoting.

Zie DataTable-gebeurtenissen verwerken en DataAdapter-gebeurtenissen verwerken voor informatie over andere gebeurtenissen die beschikbaar zijn bij het werken met een DataSet gebeurtenis.

Zie ook