## 28.5 Fazit: Typisierte oder nicht typisierte DataSets? Sie kennen nun den Unterschied zwischen einem typisierten und einem nicht typisierten DataSet. Doch für welchen Typ sollten Sie sich entscheiden? Wenn Sie eine Windows-Anwendung entwickeln und dabei die automatische Datenbindung verwenden, wird Ihnen die Entscheidung bereits abgenommen, denn dabei werden, wie Sie noch sehen werden, typisierte DataSets verwendet. Aber was ist, wenn Sie Entscheidungsfreiheit haben? Grundsätzlich ist zu sagen, dass typisierte DataSets im Vergleich zu nicht typisierten starrer sind, weniger beeinflussbar. Sie können zwar den Code typisierter DataSets ändern und die Klasse ergänzen, aber dazu müssen Sie sich zuerst durch den Quellcode arbeiten, was bei dem teilweise enormen Umfang nicht ganz einfach ist. Das hat zur Folge, dass Sie im Fall einer Anpassung oder Änderung sehr viel Zeit und Hintergrundwissen benötigen. Zudem wird der Gesamtumfang einer Anwendung durch typisierte DataSets deutlich erhöht. Das Schema eines typisierten DataSet ist starr. Ändert sich das zugrunde liegende Schema in der Datenbank, passt sich das typisierte DataSet nicht automatisch an die neuen Gegebenheiten an. Das wirkt sich besonders tragisch zur Laufzeit aus, weil eine Exception ausgelöst wird. Die Vorteile des typisierten DataSet bestehen meiner Meinung nach in erster Linie in zwei Punkten: Erstens erfolgt eine Datentypenüberprüfung bereits zur Laufzeit, was die Gefahr einer falschen Datentypangabe deutlich reduziert. Laufzeitfehler können dadurch nahezu ausgeschlossen werden. Zudem bietet der TableAdapter Möglichkeiten, an die ein SqlDataAdapter nicht heranreicht. Besonders gefällt mir dabei die Fähigkeit, mehrere Kommandos anzulegen, die mit spezifischen Methoden aufgerufen werden können.