28.4 Ein typisiertes DataSet manuell erzeugen
In Abschnitt 28.1, »Erzeugung«, haben Sie gesehen, dass es ganz einfach ist, den Designer ein typisiertes DataSet automatisch generieren zu lassen. Brauchen Sie mehr Kontrolle über den Erzeugungsprozess, können Sie das komplette typisierte DataSet manuell anlegen.
28.4.1 DataTable erzeugen
Eine DataTable erzeugen Sie, indem Sie diese aus der Toolbox auf die Arbeitsfläche des De-signers ziehen oder im Kontextmenü der Arbeitsfläche im Menüpunkt Hinzufügen eine DataTable auswählen. Die zweite Alternative ist auch über den Menüpunkt Ansicht • Hinzufügen erreichbar. Sie sollten den Standardnamen DataTable1 im Eigenschaftsfenster ändern. Markieren Sie dazu die DataTable im Designer.
28.4.2 Spalten hinzufügen
Für die noch leere DataTable definieren Sie neue Spalten über deren Kontextmenüpunkt Hinzufügen • Spalten. Alternativ wählen Sie das Menü Hinzufügen • Spalten.
Ist eine Spalte im Designer markiert, können Sie im Eigenschaftsfenster deren Eigenschaften angeben (siehe Abbildung 28.4).
Abbildung 28.4 Eigenschaften einer DataColumn
Da mehrere Spalten den kombinierten Primärschlüssel einer Tabelle bilden können, legen Sie den Schlüssel auf der Ebene der DataTable und nicht auf Spaltenebene fest. Markieren Sie dazu alle Spalten, die den Primärschlüssel bilden, und wählen Sie den Menüpunkt Primärschlüssel festlegen im Kontextmenü einer Spalte oder im Menü Daten.
28.4.3 Tabellenbeziehungen erstellen
Wenn Sie dem typisierten DataSet mehrere Tabellen hinzugefügt haben, können Sie diese in Beziehung setzen. Klicken Sie dazu auf ein beliebiges Element im Designer, öffnen Sie wieder das Kontextmenü, und wählen Sie Hinzufügen • Relation. Daraufhin öffnet sich das in Abbildung 28.5 gezeigte Dialogfenster.
Abbildung 28.5 Eigenschaften einer DataRelation
Im oberen Teil des Fensters legen Sie den Namen der DataRelation fest. In den darunter angeordneten Dropdown-Listen wählen Sie die übergeordnete Tabelle (Mastertabelle) sowie die untergeordnete Tabelle (Detailtabelle) aus. Die Schlüsselspalten der über- und untergeordneten Tabelle werden im Listenfeld meist korrekt angezeigt, können aber auch auf andere Spalten eingestellt werden.
In der unteren Hälfte des Dialogs definieren Sie die Eigenschaften der Beziehung. Standardmäßig wird zwar die Beziehung erzeugt, nicht jedoch ein ForeignKeyConstraint-Objekt. Dieses erzwingt die referenzielle Integrität der Tabelle und ist wichtig, um die Konsistenz bei Datenänderungen zu erhalten (siehe Abschnitt 26.2.3, »Constraints-Klassen einer DataTable«). Zu bloßen Anzeige der Daten können Sie darauf verzichten.
Wollen Sie auch Daten im DataSet modifizieren, sollten Sie die Option wählen, die sowohl eine Beziehungs- als auch eine Fremdschlüsseleinschränkung erzeugt. Sie können dann auch fest-legen, wie Änderungen weitergegeben werden. Mit Regel aktualisieren legen Sie die Eigenschaft UpdateRule des ForeignKeyConstraints fest, mit Regel löschen die Eigenschaft DeleteRule und schließlich mit Regel akzeptieren/ablehnen die Eigenschaft AcceptRejectRule.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.