Bei der Nutzung von TAA-Objekt-Daten in .net-Umgebung sind einige Konvertierungen erforderlich. Hierfür gelten folgende Regeln:
Datentyp in TAA-Objekt | Datentyp in .net |
---|---|
numerisch ohne Nachkommastellen | System.Int32* |
numerisch mit Nachkommastellen | System.Double |
Datum, DatumUhrzeit | System.DateTime |
Uhrzeit | System.TimeSpan |
Binär, Blob | System.Array, gefüllt mit System.Byte |
alle anderen (z.B. alphanumerisch, Timestamp) | System.String |
* bei Konvertierung von numerischen Werten ohne Nachkommastellen für DataTable:
Datentyp in TAA-Objekt | Vorzeichen | Datentyp in .net DataTable |
---|---|---|
Länge ⇐ 4 | ja | System.Int16 |
Länge ⇐ 4 | nein | System.UInt16 |
Länge ⇐ 9 | ja | System.Int32 |
Länge ⇐ 9 | nein | System.UInt32 |
Länge ⇐ 18 | ja | System.Int64 |
Länge ⇐ 18 | nein | System.UInt64 |
Sollte eine Konvertierung nicht erfolgreich durchgeführt werden können, wird der Inhalt als Datentyp Empty zurückgeliefert.
Beim Anlegen von Data Tables für ein TAA-Objekt wird für jedes Nicht-Gruppenfeld eine Spalte mit dem entsprechenden .net-Datentyp definiert. Wenn ein Feld einen Wert enthält, der nicht zu diesem Typ konvertiert werden kann, erkennt .net dies als Null-Objekt und setzt für die betreffende Zelle die Eigenschaft IsNull (Datentyp System.DBNull).
Ein häufiger Grund für die Nicht-Konvertierbarkeit von Feldinhalten ist die Verwendung redefinierter Felder: z.B. wird ein alphanumerischer Feldinhalt geschrieben, und anschließend versucht, auf eine numerische Redefinition dieses Feldes zuzugreifen.