Rammi.cz

Rammi.cz náhodný obrázek

.NET datetime 2 SQL datetime

Srpen 17th, 2006 · Zatím nejsou komentáře · Programování

Je to nepříjemné, ale je to tak. Datový typ Datetime v .NET je z velké části odlišný od MS SQL datetime. Tato odlišnost se ještě prohloubí, pokud používáte jiné local settings, než US-EN.
Pro nenastavené datum se v .NET používá DateTime.MinValue, což je konstanta s hodnotou 1.1. 0001 0:00, maximální hodnota je 31.12, 9999 23:59. Naproti tomu SQL má rozsah těchto hodnot menší 1.1. 1753 – 31.12. 9999. Což znamená, že pokud do SQL pošlete datum starší než 1.1. 1753, dojde k přetečení.
Druhý problém je v různých mezinárodních formátech kdy 10.3. 1999 může znamenat za určitých okolností desátého března a za jiných zase třetího října. Tento problém lze obejít vcelku jednoduše, existuje totiž formát data který nezklame a ten vypadá takto 19991003 tedy formát yyyyMMdd a v tompto formátu můžete datum poslat do SQL databáze bez jakýchkoliv rizik. V C# je to jednoduše např.
Calendar1.SelectedDate.ToString("yyyyMMdd")

Tagy:

Napiš první komentář! ↓

Zatím tu není žádný komentář... Odstartuj to vyplněním formuláře níže.

Co si myslíš ty?

Copyright Abago Holding s.r.o.,
všechna práva vyhrazena.
Navštivte také další projekty: Služby:  Digi Reality - Realitní vyhledávač | Ušetřím.cz - Vyhledávač cen | Inzerce Dýně.cz - Inzerce zdarma |
Zábava: PeckaSMS.cz - vyhrajte super ceny | 101her.cz - Online hry zdarma |
TOPlist TOPlist