Hallo,
mangels nutzbarer Wizards in #D oder VC#E (siehe meine Frage unter [
dp]#D und VC#E Fehlende Provider registrieren[/
dp]) erzeuge ich mir meine typ.Datasets halbautomatisch:
- Datenbank: Metadaten extrahieren
- damit manuell eine xsd-Schemadatei schreiben (das geht im Editor teilweise über Suchen/Ersetzen)
- mit XSD.Exe eine passende cs-Datei erstellen lassen
Das funktioniert auch als Notlösung. Mir fehlen aber noch Einstellungen:
Datentyp String: VARCHAR von Firebird,
xsd:string und
String von Net sind kompatibel. Wie kann ich in der xsd-Schemadatei festlegen, dass ein String bei einem Feld eine
maximale Feldlänge hat? Wird dies vom typisierten Dataset und den DataAdaptern berücksichtigt, oder muss ich es - z.B. durch Delegates - selbst steuern?
Datentyp Zeitdauer: TIME von Firebird kann dafür verwendet werden, aber
DateTime von Net entspricht dem nicht, weil immer ein Datum hinzugefügt wird;
xsd:duration kann mangels Kompatibilität nicht umgesetzt werden. Wie kann ich das lösen? (Bisher nutze ich dafür Strings der Form "12'34" oder "1h 23", was konkret genügt; aber als Dauerlösung ist das unbefriedigend.)
Typisierter DataAdapter: Irgendwo habe ich gelesen, dass dies ebenfalls benötigt wird, um den Datenaustausch zwischen Programm und Datenbank sauber und 'automatisch' zu steuern. In der NET-Doku finde ich aber das Stichwort
'typisiert' nur für DataSets, aber nicht für DataAdapter. Kann mir jemand das Vorgehen erläutern? (Bei meinem bisherigen Vorgehen habe ich keine Probleme mit typ. Dataset und einem 'normal erzeugten' DataAdapter.)
Danke für Erläuterungen und Tipps! Jürgen
PS. Alles läuft unter NET 2.0.