2010-04-19 13 views
6

Tengo una tabla SQL 2008 con un campo llamado RecDate de tipo DateTimeOffset.Obteniendo el valor DateTimeOffset de SQL 2008 a C#

Para un registro dado el valor es '2010-04-01 17: 19: 23.62 -05: 00'

en C# se crea un DataTable y llenarlo con los resultados de "SELECT RecDate de MyTable" .

que necesito para obtener los milisegundos, pero si hago las siguientes las milisegundos son siempre 0:

DateTimeOffset dto = DateTimeOffset.Parse(dt.Rows[0][0].ToString()); 

¿Cuál es la forma correcta para obtener el valor de la columna RecDate en la variable dto?

Respuesta

9

Quizás el lanzamiento a ToString() elimine la información de microsegundos.

Según MSDN, el tipo de datos de SQL Server datetimeoffset coincide con C# 's DateTimeOffset. Por lo tanto, debería ser seguro lanzar una columna datetimeoffset a DateTimeOffset.

Por ejemplo:

DateTimeOffset dto = (DateTimeOffset) Rows[0][0]; 
+0

Caray ... eso es vergonzoso! Tienes exactamente razón. Gracias. – DarLom

Cuestiones relacionadas