2011-03-14 13 views

Respuesta

4

Creo que puede usar el tipo de datos TimeSpan para su propósito. Aquí hay un article que explica el uso del tipo de datos Time en ado.net

1

¿Cómo está accediendo a los datos? Usando Entity Frameworks, StoredProcedures, etc.
Si tiene que pasar una cadena de representación de la fecha, asegúrese de hacerlo en el formato "aaaa-mm-dd hh: mm: ss", de lo contrario correrá el riesgo de la dd/mm/aaaa vs mm/dd/aaaa confusión. Si está utilizando Entity Framework o conjuntos de datos a continuación, sólo debe pasar el parámetro una instancia DataTime por ejemplo DateTime.Now

+0

estoy usando castillo registro activo para acceder a datos – rdk

39

Aquí es un MSDN article que revisa todos los nuevos tipos de datos de fecha y hora introducidas en SQL Server 2008 con respecto a ADO. RED. Como dice el documento: Para System.Data.DbType.Time se usaría el tipo de .NET Framework System.TimeSpan

5

Asimismo, las personas incluso de Microsoft tienden a recomendar la cartografía de la época SQL tipo de datos a System.Timestamp yo no recomendaría hacerlo,

ya que la rango de tiempo sql es 00: 00: 00,0000000-23: 59: 59.9999999

wheras la gama de System.TimeSpan es 10.675.199,02: 48: 05,4775808-10675199,02: 48: 05,4775807

que es sólo ligeramente diferente y puede provocar errores de tiempo de ejecución desagradables.

+2

¿Qué recomienda usted? – Roberto

+0

Depende del tipo de entorno que tenga, normalmente tiendo a almacenar segundos o incluso milisegundos si es necesario. –

0

puede leerlo usando datareader usando algo similar a la siguiente declaración.

TimeSpan time = dr.GetTimeSpan(dr.GetOrdinal(“Time7FieldName”)); 
Cuestiones relacionadas