Home > Datenbank, Microsoft .NET > Master-Detail Update Probleme

Master-Detail Update Probleme

Dank Visual Studio und Microsoft .NET in der Version 2 ist es ein leichtes, eine Master-Detail-Beziehung zwischen zwei Tabellen in einem Dataset nachzubilden und auch im Formular zu bearbeiten. Die Erstellung des Datasets übernimmt ein Assistent. Die Controls im Formular werden per Drag&Drop platziert. Dabei wird im Code auch automatisch Code zur Aktualisierung der Datenbank angelegt:

 myMasterTableBindingSource.EndEdit();
 myDetailTableBindingSource.EndEdit();
 tableAdapterManager.UpdateAll(dataSetmyTables);

Soweit, so gut. Leider kann sich für den Anwender dadurch Datenverlust ergeben. Wir ein Detail-Datensatz bearbeitet und dann der Master-Datensatz gewechselt, so bleibt der Detail-Datensatz im Edit-Modus! Mit

 myDetailTableBindingSource.EndEdit();

ist dieser Datensatz nicht mehr zu erreichen und wird auch nicht beim UpdateAll berücksichtigt. Eine Abhilfe schafft hier:

 for (int i = 0; i < dataSetmyTables.myMasterTable.Count; i++)
   { dataSetmyTables.myMasterTable[i].EndEdit(); }
 for (int i = 0; i < dataSetmyTables.myDetailTable.Count; i++) 
   { dataSetmyTables.myDetailTable[i].EndEdit(); }
 tableAdapterManager.UpdateAll(dataSetmyTables);
KategorienDatenbank, Microsoft .NET Tags:
  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks