2010-04-19 13 views
6

J'ai une table SQL 2008 avec un champ appelé RecDate de type DateTimeOffset.Récupération de la valeur DateTimeOffset de SQL 2008 en C#

Pour un enregistrement donné la valeur est '2010-04-01 17: 19: 23,62 -05: 00'

en C# créer un DataTable et le remplir avec les résultats de "SELECT RecDate FROM MyTable" .

Je dois obtenir les millisecondes, mais si je fais ce qui suit les millisecondes sont toujours 0:

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

Quelle est la bonne façon d'obtenir la valeur dans la colonne RecDate dans la variable dpour?

Répondre

9

Peut-être que la conversion en ToString() supprime les informations de microsecondes. Selon le code MSDN, le type de données SQL Server datetimeoffset correspond à DateTimeOffset de C#. Il devrait donc être sûr de lancer une colonne datetimeoffset à DateTimeOffset.

Par exemple:

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

Bon sang ... c'est embarrassant! Vous avez parfaitement raison. Merci. – DarLom