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.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
|