Utworzono mocno wpisany zestaw danych (MyDataSet) w mojej aplikacji .NET. Dla uproszczenia powiemy, że ma jedną DataTable (MyDataTable), z jedną kolumną (MyCol). MyCol ma właściwość DataType ustawioną na "System.Int32", a jej właściwość AllowDBNull jest ustawiona na "true".Jak mogę uwzględnić DBNull jako wartość w moim mocno wpisanym zestawie danych?
Chciałbym ręcznie utworzyć nowy wiersz, a następnie dodaj je do zbioru danych. Tworzę wiersz bez problemu, z czymś podobnym:
MyDataSet.MyDataTableRow myRow = MySimpleDataSet.MyDataTable.NewItemRow();
Dobrze. Jednak, gdy próbuję ustawić wartość DBNull:
myRow.MyCol = DBNull.Value;
Powiedziano mi, że nie mogę zrobić ... że nie może oddać, że do wew. W pewnym sensie ma to sens, odkąd zdefiniowałem to jako int ... ale jak mogę tam zdobyć DBNull? Czy nie powinienem tam mieć DBNull? Czy nie jest to właściwość AllowDBNull?
Ja oczywiście brakuje czegoś fundemental. Czy ktoś może pomóc ci wyjaśnić, co to jest?
EDYCJA: Próbowałem również wprowadzić "int?" jako DataType, ale program Visual Studio zgłasza błąd po wprowadzeniu go, mówiąc, że "kolumna wymaga poprawnego DataType".
To może pomóc: http://stackoverflow.com/questions/879095/nullable-int-column-in-dataset –