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
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Millisecondi tagliati Datetime
mercoledì 28 ottobre 2009 - 18.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
maolimix
Profilo
| Newbie
14
messaggi | Data Invio:
mer 28 ott 2009 - 18:38
Ciao a tutti,
ho un problema che mi sta facendo impazzire da questa mattina. Vi spiego...
Io prelevo una colonna di tipo Datetime da una tabella sita in Sql Server 2005.Premetto che sto programmando con VS.net 2003 in c#.
Per prelevarla ho provato 3 metodi:
1) metto la colonna in una tabella di un dataset. Ho notato che una volta istanziata una Datarow e riempita con una delle righe della tabella,quest ultimo è convertito in un System.Datetime in automatico.
Il simpatico dettaglio è che i Millisecondi sono settati a zero(nella tabella , invece , erano impostati a 807);
Ho allora pensato ad un problema di conversione ed allora ho provato così dopo aver impostato una connessione e sqlcommand:
2) SqlDataReader reader = command.ExecuteReader();
while(reader.Read() == true)
{
SqlDatetime p=reader.GetDateTime(0);
}
Ancora nulla i millisecondi vengono beatamente tagliati
Ho allora pensato ad un problema di conversione da SqlDatetime (nella tabella sql) a Datetime per cui ho corretto così:
3) SqlDataReader reader = command.ExecuteReader();
while(reader.Read() == true)
{
SqlDatetime p=reader.GetSqlDateTime(0);
}
Qui i millisecondi vengono valorizzati , ma ,assurdo , invece di memorizzare 29-09-2009 16:33:03.807 viene memorizzato questo nella variabile p :29-09-2009 16:32:35:307.
Qualcuno è mai incappato in questo problema? Ho anche pensato a modificare la query con un cast a string ma devo trovare il modo opportuno perchè cmq i mesi li scrive a lettere e non è facilmente gestibile
Grazie a tutti
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
lun 2 nov 2009 - 05:43
Prova a vedere se ti possono essere d'aiuto
questi articoli.
http://seesharper.wordpress.com/2008/07/08/sql-server-datetime-vs-net-datetime-battle-of-accuracy/
http://www.sql-server-performance.com/articles/dev/advanced_date_datetime_handling_p1.aspx
Ciao, Michele
maolimix
Profilo
| Newbie
14
messaggi | Data Invio:
lun 2 nov 2009 - 10:07
Ciao,
alla fine ho risolto con un cast diretto del tipo (datetime)...e funziona tutto correttamente.Cmq articoli molto interessanti...
Ciao
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 !