Ich habe ein stark typisiertes Dataset (MyDataSet) in meiner .NET App erstellt. Der Einfachheit halber werden wir sagen, dass es eine DataTable (MyDataTable) mit einer Spalte (MyCol) hat. MyCol hat seine DataType-Eigenschaft auf "System.Int32" und seine AllowDBNull-Eigenschaft auf "True" festgelegt.Wie kann ich DBNull als Wert in mein stark typisiertes Dataset aufnehmen?
Ich möchte manuell eine neue Zeile erstellen und sie zu diesem Dataset hinzufügen. Ich erstelle die Zeile ohne ein Problem, mit etwas wie:
MyDataSet.MyDataTableRow myRow = MySimpleDataSet.MyDataTable.NewItemRow();
Fein. Aber wenn ich versuche, den Wert auf DBNull zu setzen:
myRow.MyCol = DBNull.Value;
Mir wurde gesagt, dass ich es nicht tun kann ... dass es nicht so in einen int werfen kann. Das ist in gewisser Weise sinnvoll, da ich es als int definiert habe ... aber wie kann ich DBNull da rein bekommen? Darf ich DBNull nicht dort drin haben? Ist das nicht die Eigenschaft AllowDBNull?
Ich vermisse offensichtlich etwas Grundlegendes. Kann mir jemand erklären, was es ist?
EDIT: Ich habe auch versucht, "int?" wie der DataType, aber Visual Studio löst einen Fehler aus, wenn ich es eintrage und sage, dass "Spalte einen gültigen DataType benötigt".
Dies kann helfen: http://stackoverflow.com/questions/879095/nullable-int-column-in-dataset –