Announcement

Collapse
No announcement yet.

Nullable DataColumn

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Nullable DataColumn

    Hallo,

    ich habe eine Tabelle in der Datenbank aus der ich mittels VS Studio 2010 ein getyptes DataSet bzw. DataTable generiert habe. Meine Tabelle enthält eine Spalte Preis,welche vom Typ Decimal ist. Für diese Spalte ist der Werte NULL zulässig. Nun möchte ich, dass auch im typed DataSet der Wert NULL zulässig ist, d.h. der Datentyp decimal? in C#.NET verwendet wird. Link folgend habe ich in der XML-Datei DataSet.xsd die entsprechende Spalte auf
    Code:
    <xs:element name="Preis" msprop:nullValue="_null" nillable="true" msprop:Generator_ColumnVarNameInTable="columnPreis" msprop:Generator_ColumnPropNameInRow="Preis" msprop:Generator_ColumnPropNameInTable="PreisColumn" msprop:Generator_UserColumnName="Preis" type="xs:decimal" minOccurs="0" />
    gesetzt. Jedoch wird nun standardmäßig die Property Preis in der Datenzeile nicht mehr erzeugt. Wenn ich _null durch z.B. -1 erstze funktioniert es jedoch, allerdings wird dann der Datentyp decimal und nicht decimal? verwendet. Jemand von euch eine Idee, wie ich Visual Studio doch noch überreden das zu tun, was ich möchte?

  • #2
    Typed Dataset sind älter als nullable Datentypen. Für eine nullable Spalte werden 2 Properties generiert. Einmal die eigentlich Property als nicht nullable Typ und andererseits eine IsPROPERTYNAMENull Property über die du prüfen kannst ob der Wert in der Property nur Müll ist und eigentlich null gemeint ist.

    Für Databinding natürlich total ungeeignet. Lösung kenne ich nicht. Außer sauberes Objektmodel verwenden(z.B über ein ORM) ohne Datasets/Datatable und Konsorten und dort passende Properties anlegen.

    Comment


    • #3
      Vielen Dank. In ähnlicher Weise hatte ich schon einmal mit Business Objects gearbeitet, allerdings hatte dies sehr viel Zeit verschlungen und daher wollte ich einmal versuchen mittels typed Datasets eine schnellere alternative hinzubekommen.

      Comment

      Working...
      X