36.3 Typisierte DataSets manuell im Designer erzeugen
Ganz am Anfang haben Sie gesehen, dass es ganz einfach ist, unter Zuhilfenahme des Designers ein typisiertes DataSet zu erzeugen. Manchmal kommen Sie aber auch in die Situation, am typisierten DataSet Änderungen vornehmen zu müssen. Vielleicht wollen Sie sogar das komplette typisierte DataSet manuell anlegen.
36.3.1 Eine »DataTable« manuell erzeugen
Um eine DataTable bereitzustellen, aktivieren Sie die Toolbox und ziehen das Element DataTable per Drag & Drop in den Designer des typisierten DataSets. Alternativ bietet sich dazu auch das Kontextmenü des Designers an. Wählen Sie hier den Befehl Hinzufügen, hinter dem sich auch das Angebot einer DataTable verbirgt. Die dritte Alternative ist im Menü Ansicht • Hinzufügen zu finden.
Per Vorgabe heißt die neue Tabelle DataTable1. Sie können sie aber umbenennen. Markieren Sie dazu das Element in der Designeransicht. Im Eigenschaftsfenster können Sie danach den Namen festlegen.
36.3.2 Der »DataTable« Spalten hinzufügen
Die neue Tabelle hat noch keine Spalten – Sie müssen sie im nächsten Schritt festlegen. Markieren Sie dazu die DataTable im Designer, und öffnen Sie deren Kontextmenü. Wählen Sie hier Hinzufügen. Im sich öffnenden Untermenü wird Ihnen daraufhin Spalte angeboten. Auch zu dieser Vorgehensweise gibt es über das Menü Daten eine alternative Möglichkeit.
Spalten zeichnen sich durch viele Eigenschaften aus. Ist eine Spalte im Designer markiert, können Sie im Eigenschaftsfenster deren Eigenschaften spezifisch einstellen (siehe Abbildung 36.4).
Abbildung 36.4 Die Eigenschaften einer »DataColumn« im Eigenschaftsfenster
Was Sie im Eigenschaftsfenster nicht finden, ist die Angabe, ob die Spalte eine Primärschlüsselspalte ist. Wie Sie sich erinnern, ist das auch eine Eigenschaft der DataTable, da mehrere Spalten auch den kombinierten Primärschlüssel einer Tabelle bilden können. Um eine oder auch mehrere Spalten zu Primärschlüsselspalten zu erklären, markieren Sie die in Frage kommenden Spalten im Designer, öffnen danach das Kontextmenü und wählen den Unterpunkt Primärschlüssel festlegen. Auch über das Menü Daten können Sie den Primärschlüssel festlegen.
36.3.3 Beziehungen zwischen den Tabellen erstellen
Haben Sie dem typisierten DataSet mehrere Tabellen hinzugefügt, möchten Sie vielleicht auch die Beziehung zwischen den Tabellen definieren. Klicken Sie mit der Maustaste auf ein beliebiges Element im Designer, öffnen Sie wieder das Kontextmenü, und wählen Sie Hinzufügen und Relation. Daraufhin öffnet sich ein Dialogfenster, in dem Sie alle Einstellungen der neuen DataRelation vornehmen können.
Abbildung 36.5 Dialogfenster zum Festlegen der 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) und die untergeordnete Tabelle (Detailtabelle) aus. Die Schlüsselspalten der über- und untergeordneten Tabelle werden im Listenfeld meist korrekt angepasst, können aber auch auf andere Spalten eingestellt werden.
In der unteren Hälfte des Dialogs definieren Sie die Eigenschaften der Beziehung. Der Dialog ist per Vorgabe so eingestellt, dass die Beziehung zwar erzeugt wird, nicht jedoch ein ForeignKeyConstraint-Objekt. Vielleicht erinnern Sie sich an die Aussagen in Kapitel 34: Ein ForeignKeyConstraint-Objekt hat die Aufgabe, zu steuern, wie Änderungen zwischen der Master- und der Detailtabelle im DataSet weitergegeben werden. Dient das typisierte DataSet nur dazu, Dateninformationen anzuzeigen, können Sie die Vorgabe des Dialogs beibehalten.
Gehen Sie jedoch davon aus, dass Daten im DataSet modifiziert werden, sollten Sie die Option wählen, die sowohl eine Beziehungs- als auch eine Fremdschlüsseleinschränkung erzeugt. Sie können dann auch festlegen, 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.