Benutzer mit den meisten Antworten
"Typisiertes DataSet" zur Laufzeit erstellen

Frage
-
Hallo liebe Gemeinde,
ich habe eine Access-Datenbank vorliegen, und möchte eine Art "typisiertes DataSet" zur Laufzeit erstellen. Ich stelle mir das blauäugig ungefähr so vor:- ich habe den ConnectionString zu einer Access-Datei
- wenn das Programm startet, dann wird die Datenbank geöffnet, analysiert und dann zur Laufzeit ein DataSet erstellt, auf das ich dann über die gesamte Anwendung zugreifen kann. Im Idealfall wird das DataSet "gespeichert" und nur dann geändert, wenn sich an der Datenbank etwas geändert hat.
Geht soetwas oder ist das völlig bescheuert? Wieviel Aufwand steht dahinter? Könnt Ihr mir da helfen? Tausend Dank im Voraus für Eure Mühe!
Gruß
Marcus
Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
Antworten
-
Hallo Marcus,
"typisierte DataSets" kann man zur Laufzeit nicht erstellen.
Denn die erzeugt bereits Visual Studio anhand der XML-Informationen als VB (bzw. CS) Datei -
die siehst Du, wenn Du alle Dateien in der Projektmappe anzeigen lässt.Zur Laufzeit würde das auch keinen Sinn ergeben, da das Programm dies nicht nutzen könnte -
es hätte selbst keine Typinformationen vorliegen und würde nur "untypisierte" Daten übergeben können.Arbeiten kann man aber genausogut untypsiert, in dem man ein DataSet über die FillSchema Methode
erstellt. Die notwendigen Informationen über vorhandene Tabellen kann dir wiederum die GetSchema-Methode(oder auch die ältere GetOleDbSchemaTable ) liefern, siehe dazu
Abrufen von Schemainformationen aus einer Datenbank (ADO.NET)Dann ist das ganze zwar nicht "typisiert" und man sollte ggf. einige Vorkehrungen bezüglich korrekter Dateneingabe treffen,
aber für die Windows Forms Datenbindung spielt das z. B. sowieso keine Rolle -
die arbeitet via Reflection und ermittelt ihre Informationen darüber.Gruß Elmar
- Bearbeitet Elmar Boye Montag, 14. Februar 2011 16:44 Gruss
- Als Antwort markiert Robert Breitenhofer Freitag, 18. Februar 2011 09:42
Alle Antworten
-
Hallo Marcus,
"typisierte DataSets" kann man zur Laufzeit nicht erstellen.
Denn die erzeugt bereits Visual Studio anhand der XML-Informationen als VB (bzw. CS) Datei -
die siehst Du, wenn Du alle Dateien in der Projektmappe anzeigen lässt.Zur Laufzeit würde das auch keinen Sinn ergeben, da das Programm dies nicht nutzen könnte -
es hätte selbst keine Typinformationen vorliegen und würde nur "untypisierte" Daten übergeben können.Arbeiten kann man aber genausogut untypsiert, in dem man ein DataSet über die FillSchema Methode
erstellt. Die notwendigen Informationen über vorhandene Tabellen kann dir wiederum die GetSchema-Methode(oder auch die ältere GetOleDbSchemaTable ) liefern, siehe dazu
Abrufen von Schemainformationen aus einer Datenbank (ADO.NET)Dann ist das ganze zwar nicht "typisiert" und man sollte ggf. einige Vorkehrungen bezüglich korrekter Dateneingabe treffen,
aber für die Windows Forms Datenbindung spielt das z. B. sowieso keine Rolle -
die arbeitet via Reflection und ermittelt ihre Informationen darüber.Gruß Elmar
- Bearbeitet Elmar Boye Montag, 14. Februar 2011 16:44 Gruss
- Als Antwort markiert Robert Breitenhofer Freitag, 18. Februar 2011 09:42