Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Problema con passaggi di parametri di tipo Date
lunedì 30 novembre 2009 - 10.19
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 30 nov 2009 - 10:19
salve ragazzi,
in un dabadate generato con sql server 2008 ho una tabella all'interno della quale vi sono dei campi definiti "Date".
Il salvataggio ed aggiornamento dei campi avviene perfettamente.
Poi ho creato una stored che mi permette di riprendere i campi per poterli far vedere a video. Eseguendo la stored in sql server i dati si visualizzano perfettamente.
Quando passo ad eseguire il codice in vbnet 2008 mi esce l'errore "Cast non valido"
I campi delle date quando sono vuoti gli passo il valore '01/01/1900' pertanto quando eseguo la select questi campi sono comunque valorizzati.
il codice della riga interessata che non funziona in vb è il seguente:
ObjAlb.DataFineAttivita = SqlDr.GetSqlDateTime(28).Value
DataFineAttivita è dichiarato come Date
Dove sbaglio?
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Jok83
Profilo
| Junior Member
139
messaggi | Data Invio:
lun 30 nov 2009 - 11:28
Ciao
può essere la conversione da datetime a date..
ObjAlb.DataFineAttivita = SqlDr.GetSqlDateTime(28).Value
magari passa '01/01/1900 00:00:0000' e datafineattivata e settata come data 'dd/MM/yyyy'...
è l'unica cosa che mi viene ma penso l'avresti visto in debug..
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 30 nov 2009 - 12:21
si l'errore alla fine è quello...
ho fatto dei test ma noto che il problema è la dicitura: SqlDr.GetSqlDateTime(28).Value
Pertanto la domanda ora è la seguente: "Vb.net non ha un parametro che gestisce solo solo il formato Date?"
Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Teech
Profilo
| Expert
573
messaggi | Data Invio:
lun 30 nov 2009 - 15:04
Devi usare il metodo GetDateTime del DataReader che restituisce un oggetto di tipo DateTime...
http://msdn.microsoft.com/it-it/library/system.data.sqlclient.sqldatareader.getdatetime.aspx
Il metodo GetSqlDateTime ottiene un tipo diverso (SqlDateTime)...
http://msdn.microsoft.com/it-it/library/system.data.sqlclient.sqldatareader.getsqldatetime.aspx
Il tutto indipendentemente dal tipo Date o DateTime in SQL:
Il valore in SQL è un tipo di SQL che può essere memorizzato in .NET con un tipo DateTime o un tipo SqlDateTime a seconda delle situazioni di utilizzo. Di solito si usa il DateTime in quanto è il tipo nativo .NET mentre SqlDateTime è il tipo nativo SQL.
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole
Torna su
Stanze Forum
Elenco Threads
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 !