PDA

View Full Version : [VB.NET] Problema con le date


OrcaAssassina
11-02-2008, 14:43
Uso VB.NET
DB: SqlServer2005

Ho un campo DateTime

A volte per esigenze mi serve che il campo DATA nel programma rimanga vuoto, però se lo lascio vuoto mi va in errore.

Inizialmente avevo pensato di controllarlo

Ossia se era "" non lo salvavo.

Solo che a volte contiene la data ed io la devo svuotare, e quando salvo, se lo controllo non salva perchè lo vede "" se non lo controllo va in errore


Come posso risolvere il problema?????

Ciao e grazieeeeeee

gugoXX
11-02-2008, 15:17
in VB.net (come anche in C#.net) il tipo DateTime e' di tipo value.
Quindi non puo' accettare NULL come valore.

Ci sono un po' di soluzioni:
- Forzi gia' sul database il campo ad essere NOT NULL, e decidi qual e' la data che considererai come NULL (ES: 1/1/1970, data assolutamente a caso).
- Ogni volta che leggi un record con quella data allora dovrai tenere conto che puo' essere NULL, e il tuo dato restituito dovra' essere processato lato VB.net nella lettura. Valore consigliato lato VB.net e' default(DateTime);
- Ogni volta che leggi un record con quella data allora dovrai tenere conto che puo' essere NULL, e il tuo dato restituito dovra' essere processato lato SQL nello statment.
(Select ....., ISNULL( miadata, '1/1/1970' ) as datacucinata FROM ....)
- Altro?

Ovviamente gli inserimenti e gli aggiornamento dovranno tenere conto della soluzione da te scelta.