![]() |
Datenbank: Firebird • Version: 2.0 • Zugriff über: Firebird NET Provider 2.0.1.0
Timespan-Umwandlung ungültig bei Firebird und typ.DataSet
Hallo,
ich habe mir zu einer Firebird-DB ein typisiertes DataSet durch XSD.exe erzeugen lassen. Der FB-Datentyp TIME scheint in NET bei der Umwandlung in TimeSpan Probleme zu verursachen, wenn ich es als Dauer (xsd:duration) und nicht als Uhrzeit (xsd:time) interpretieren möchte:
SQL-Code:
Dazu habe ich (teilweise manuell) eine Daten.xsd erzeugt u.a. mit diesem Inhalt:
CREATE TABLE SENDUNG (
ID D_ZAHL NOT NULL /* D_ZAHL = INTEGER DEFAULT 0 NOT NULL */, TITEL_ID D_ZAHL /* D_ZAHL = INTEGER DEFAULT 0 NOT NULL */, DATUM D_DATE NOT NULL /* D_DATE = DATE */, VON D_ZEIT NOT NULL /* D_ZEIT = TIME */ // usw. weitere Felder );
XML-Code:
Daraus hat XSD folgenden C#-Quelltext erzeugt:
<xsd:element name="Sendung">
<xsd:complexType> <xsd:sequence> <xsd:element name="ID" msdata:AutoIncrement="true" type="xsd:int" /> <xsd:element name="Titel_ID" msdata:AutoIncrement="false" type="xsd:int" /> <xsd:element name="Datum" type="xsd:date" minOccurs="0" /> <xsd:element name="von" type="xsd:duration" minOccurs="0" /> </xsd:sequence> </xsd:complexType> </xsd:element>
Code:
Beim Einlesen der Daten (im Feld 'Von' steht der Wert '12:07:00') über DataAdapter erhalte ich die folgende Fehlermeldung:
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
public System.TimeSpan von { get { try { return ((System.TimeSpan)(this[this.tableSendung.vonColumn])); } catch (System.InvalidCastException e) { throw new System.Data.StrongTypingException("Der Wert für Spalte von in Tabelle Sendung ist DBNull.", e); } } set { this[this.tableSendung.vonColumn] = value; } } Zitat:
Danke für Hinweise! Jürgen PS. Aus mehreren praktischen Gründen möchte ich Datum, Startzeit "Von" und Schlusszeit "Bis" trennen. Bitte nicht darüber streiten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz