Megosztás a következőn keresztül:


Adathalmazesemények kezelése

Az DataSet objektum három eseményt biztosít: Disposed, Initializedés MergeFailed.

A MergeFailed esemény

Az objektum leggyakrabban használt eseménye DataSet az MergeFailed, amely akkor jön létre, ha az egyesítendő objektumok sémája DataSet ütközik. Ez akkor fordul elő, ha egy célnak és forrásnak DataRow ugyanaz az elsődleges kulcsértéke, és a EnforceConstraints tulajdonság értéke truea következő. Ha például egy egyesítendő tábla elsődleges kulcsoszlopai megegyeznek a két DataSet objektum táblái között, kivétel keletkezik, és az MergeFailed esemény létrejön. Az MergeFailedEventArgs eseménynek MergeFailed átadott objektumnak van egy Conflict tulajdonsága, amely azonosítja a két DataSet objektum közötti sémaütközést, valamint egy Table tulajdonságot, amely azonosítja az ütközésben lévő tábla nevét.

Az alábbi kódrészlet bemutatja, hogyan adhat hozzá eseménykezelőt az MergeFailed eseményhez.

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);  
}  

Az inicializált esemény

Az Initialized esemény azután következik be, hogy a DataSet konstruktor inicializálja a DataSet.

A IsInitialized tulajdonság akkor ad true vissza, ha az DataSet inicializálás befejeződött, ellenkező esetben ad vissza false. A BeginInit metódus, amely egy inicializálását kezdi, a következőre állítjaDataSetIsInitialized: false. A EndInit metódus, amely befejezi az inicializálását DataSet, a következőre trueállítja: . Ezeket a metódusokat a Visual Studio tervezési környezete használja egy DataSet másik összetevő által használt eszköz inicializálására. Ezeket általában nem fogja használni a kódban.

A megsemmisített esemény

DataSet az osztályból MarshalByValueComponent származik, amely a Dispose metódust és az eseményt Disposed is elérhetővé teszi. Az Disposed esemény egy eseménykezelőt ad hozzá, amely figyeli az összetevőn lévő elvetett eseményt. Ha a metódus meghívásakor kódot Dispose szeretne végrehajtani, használhatja Disposed egy esemény eseményétDataSet. Dispose A felszabadítja a . által használt erőforrásokat MarshalByValueComponent.

Feljegyzés

Az DataSet és DataTable az objektumok öröklődnek, MarshalByValueComponent és támogatják az ISerializable újraegyezés felületét. Ezek az egyetlen távoli ADO.NET objektumok. További információ: .NET-újraküldés.

Az adattáblázati DataSetesemények kezelése és a DataAdapter-események kezelése című témakörben talál további információt az egyéb eseményekről.

Lásd még