Jak obsługiwać w .NET null i przesłać go do bazy danych

15-Maj-2013

SQL i inne bazy danych mają wartość NULL. Kiedy np pewna data jest nieznana, zapamiętujesz w niej NULL i już wiadomo, że data jest jeszcze nieokreślona. Rodzi się jednak problem jak tego nulla obsługiwać w aplikacjach w .NET.

Do typu DateTime nie można przypisać wartości null. Można za to wykorzystać typ DateTime? , który już przyjmuje wartość null.

Kiedy chcesz się odwołać do zmiennej x typu DateTime? musisz to zrobić tak:

Kiedy masz procedurę i chesz do niej przekazać NULL możesz skorzystać z DBNull.Value. Dzieje się tak dlatego, że null w .NET to trochę co innego niż NULL w bazie danych. Rzutowanie na typ object było potrzebne, aby pozbyć się komunikatu o niegodności typów:

Dodaj komentarz:

Autor: Rafał Kraik