Fare un confronto tra due date

domenica 15 ottobre 2006 - 10.40

bluelions Profilo | Senior Member

Buongiorno amici del Forum
Vi scrivo per chiedere delle informazioni in merito alla gestione delle date.
Spiego subito il problema:
Ho un applicativo in AspNet sviluppato in C#, con accesso dato Oracle, in questo software dovrei fare un confronto che una data presa dalla base dati sia maggiore della data odierna ed inoltra che sia diversa da null. Però ogni qualvolta va sul controllo mi da sempre un eccezione.
La gestisco così:
DataFine è la data che prendo da una query che faccio precedentemente e la prendo con il reader

String dataFine = reader.GetValue(0);

If (!dataFine.Equals("") && Convert.toDateTime(dataFine).Date >=System.Data.Today )
//Faccio l'istruzione

Però appena va sul'istruzione mi va in eccezione e non sono riuscito a capire come gestire una cosa del genere....potete darmi un aiuto?
Grazie
Attendo fiducioso vostra risposta.

alx_81 Profilo | Guru

>Buongiorno amici del Forum
Ciao!

>Vi scrivo per chiedere delle informazioni in merito alla gestione
>delle date.
>Spiego subito il problema:
>Ho un applicativo in AspNet sviluppato in C#, con accesso dato
>Oracle, in questo software dovrei fare un confronto che una data
>presa dalla base dati sia maggiore della data odierna ed inoltra
>che sia diversa da null. Però ogni qualvolta va sul controllo
>mi da sempre un eccezione.
>La gestisco così:
>DataFine è la data che prendo da una query che faccio precedentemente
>e la prendo con il reader
>
>String dataFine = reader.GetValue(0);
>
>If (!dataFine.Equals("") && Convert.toDateTime(dataFine).Date
>>=System.Data.Today )
>//Faccio l'istruzione
>
>Però appena va sul'istruzione mi va in eccezione e non sono riuscito
>a capire come gestire una cosa del genere....potete darmi un
>aiuto?
Sarebbe interessante sapere quale istruzione solleva l'eccezione e quale te la solleva.. comunque, provando la tua istruzione, varie cose sono errate..
Non so se hai fatto copia incolla dal tuo editor, però ho notato che:
1) If non deve essere maiuscolo, devi usare "if"
2) toDateTime è errato, devi usare ToDateTime
3) System.Data.Today non esiste, devi usare DateTime.Now
Insomma eccoti un esempio funzionante:

if (!dataFine.Equals("") && Convert.ToDateTime(dataFine).Date>=DateTime.Now) { Response.Write("Data maggiore o uguale"); } else { Response.Write("Data minore o assente"); }
>Grazie
Di nulla

Alx81 =)

http://blogs.dotnethell.it/suxstellino

bluelions Profilo | Senior Member

ok, ma scusa ancora se la data è vuota,cioè nel DB ORACLE il campo è vuoto, il test sul convert date,passa lo stesso o mi va in eccezione?

alx_81 Profilo | Guru

in vb c'è la IsDBNull..
il reader ha il metodo IsDBNull(colonna)

quindi

if (reader.IsDBNull(0))
gestisci l'eccezione..

Alx81 =)

http://blogs.dotnethell.it/suxstellino
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