Jak możemy obsłużyć null dla pola datetime (dostałem z SQL Server) w naszym programie w C#?Jak obsłużyć null dla pola-datetime (DB) allow-null w naszym programie?
6
A
Odpowiedz
12
Dostępne są 3 wspólne podejścia;
- jeśli mówimy o
object
(być może, jak sprowadzić go z czytnika danych), a następnieDBNull.Value
może reprezentować wartość null. Nie mam tendencji do wypuszczania tego z warstwy danych, ale ze względu na historię .NET 1.1,DateTime.MinValue
jest powszechnie interpretowany jako ; magiczna liczba, może - ale działa i jest obsługiwana przez większość danych wiążących itp. - w .NET 2.0,
Nullable<T>
oznacza, że można użyćDateTime?
- tj. nullable-of-DateTime; po prostu użyjDateTime?
, gdzie zawsze masz na myśliDateTime
, która może być pusta, i możesz nadać mu wartośćnull
lub prawidłowąDateTime
.
Niektóre inne przemyślenia na temat dostępu do danych i wartości null:
- gdy przechodzi do
SqlCommand
ty koniecznością użytkuDBNull.Value
nienull
- patrz niżej - podczas czytania z danych czytnika, Mam tendencję do sprawdzania
reader.IsDbNull(ordinal)
rzeczy polecenia (z Nullable<T>
jako przykład):
param.Value = when.HasValue ? (object)when.Value : DBNull.Value;
3
Zastosowanie DateTime?
Jaki problem należy rozwiązać, a konkretnie?
- Edycja
Tak więc jasne jest, że to Nullable
DateTime obiektu, a nie pytanie :)
DateTime? t = null;
- Edycja
Odpowiadając na komentarz, sprawdź to w taki sposób:
DateTime? theTime;
if(table["TheColumn"] == DBNull.Value){
theTime = null;
} else {
theTime = (DateTime) table["TheColumn"];
}
Powiązane problemy
- 1. Jak obsłużyć plik .msi w programie Inno Setup?
- 2. Jak uzyskać operację Null Coalesce w programie ASP.NET MVC Razor?
- 3. Jak obsłużyć ten wskaźnik w getaddrinfo?
- 4. Jak obsłużyć przypadek dopasowania w List.First wC#?
- 5. Jak obsłużyć LPSTR ** w .NET?
- 6. Chcę uzyskać wartość wyłączonego pola tekstowego w naszym następnym jsp, ale otrzymuję wartość null
- 7. DB-In DB dla Entity Framework 4
- 8. Jak obsłużyć zagnieżdżony datacontext w BL?
- 9. Ostrzeżenie GoogleTag Manager: Nieoczekiwany typ w programie budującym: (null)
- 10. Schemat DB dla czatów?
- 11. nosql db dla python
- 12. Nieokreślona lub null dla AngularJS
- 13. Jak obsłużyć odpowiedź serwera tekstowego?
- 14. Jak obsłużyć klucz obcy w FactoryGirl
- 15. ORMLite - jak obsłużyć wynik join
- 16. Dlaczego metoda isNil w programie Lodash używa null zamiast undefined?
- 17. Jak obsłużyć ładowanie widoku w CMX Tridion
- 18. Jak prawidłowo obsłużyć oczekiwane błędy w cofnięciu hystrix?
- 19. ExecuteScalar() zwraca null, ale dane zostały dodane do DB
- 20. Jak najlepiej obsłużyć gest rzucania dla Androida ListAktywność
- 21. JEditable, jak obsłużyć odpowiedź JSON?
- 22. Jak obsłużyć wiele połączeń sieciowych w Alamofire
- 23. Autolayout jak obsłużyć zastępstwo w wywiadzie?
- 24. Jak obsłużyć listę w R do Rcpp
- 25. Jak obsłużyć żądanie POST w pliku node.js
- 26. Wstawianie wartości NULL do SQL DB z C# DbCommand
- 27. Konwencje nazewnictwa dla wyzwalaczy DB
- 28. Jak wstawić wartości domyślne DB w EF?
- 29. Jak kategorie i podkategorie dla Woocommerce są zapisywane w DB?
- 30. Jak obsłużyć typ zwrotu FileStream w poście .ajax?
Mark, wielkie dzięki. – odiseh