PB con date.minvalue tra .net e oracle

sabato 17 settembre 2005 - 16.17

Babi Profilo | Junior Member

Ciao a tutto il Forum,
in un campo Date di una tabella oracle scrivo il valore date.minvalue (dbnull.value per le date .net non lo accetta.)
Il prblema è che oracle restituisce il valore 30/12/1899, che non è il minvalue di .net !!
Di conseguenza a programma quando cerco di testare la data il test fallisce perchè il minvalue di .net è diverso da quello di oracle.
Ho visto che esiste una data di tipo System.Data.OracleClient.OracleDateTime ma poi non riesco a confrontarle con le date di tipo Date di .net ...

Qualcuno potrebbe suggerirmi una via d'uscita?

grazie 1000!

Brainkiller Profilo | Guru

Ciao Babi,
ti riporto quanto c'è scritto sul Framework relativamente a MinValue della struttura OracleDateTime:

"The minimum valid date for an OracleDateTime structure is 1/1/0001 00:00:00. However, Oracle supports dates as early as January 1, 4712 BC. To bind BC dates, use a String parameter and the Oracle TO_DATE or TO_CHAR conversion functions for input and output parameters respectively."

Mi sembra abbastanza chiaro. Che è strano è come Oracle ti abbia inserito un 1899. Prova a documentarti meglio su Oracle. Riguardo ai confronti generalmente dovresti utilizzare strutture omogenee quindi OracleDateTime sempre visto che usi quel DB. In caso di presenza di date .NET prova ad effetturare un cast esplicito.

ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5