web-dev-qa-db-fra.com

comment utiliser le type de données de temps du serveur sql dans l'application .net?

Quelqu'un sait-il comment utiliser le type de données de temps introduit dans le serveur SQL 2008 dans l'application c # .net? J'ai essayé de le faire fonctionner, mais sans succès.

54
rdk

Voici un article MSDN qui passe en revue tous les nouveaux types de données de date et d'heure introduits dans SQL Server 2008 par rapport à ADO.NET. Comme le dit le document: Pour System.Data.DbType.Time vous utiliseriez le type .NET Framework System.TimeSpan

52
Simen S

Je pense que vous pouvez utiliser le type de données TimeSpan à votre fin. Voici un article qui explique l'utilisation du type de données Time dans ado.net

8
Lav

De plus, même les gens de Microsoft ont tendance à recommander de mapper l'heure du type de données SQL à System.Timestamp Je ne recommanderais pas de le faire,

puisque la plage de temps sql est 00: 00: 00.0000000 - 23: 59: 59.9999999

alors que la plage de System.TimeSpan est 10675199.02: 48: 05.4775808 - 10675199.02: 48: 05.4775807

ce qui est légèrement différent et peut entraîner des erreurs d'exécution hors de portée.

5
Michael Sander

Comment accédez-vous aux données? Utilisation des cadres d'entité, des procédures stockées, etc.
Si vous devez passer une représentation sous forme de chaîne de la date, assurez-vous de le faire au format "aaaa-mm-jj hh: mm: ss" sinon vous courrez le risque du jj/mm/aaaa vs confusion mm/jj/aaaa. Si vous utilisez Entity Framework ou DataSets, vous devez simplement passer le paramètre à une instance DataTime, par exemple DateTime.Now

1
Jonathan Stanton

vous pouvez le lire en utilisant datareader en utilisant quelque chose de similaire à la déclaration suivante.

TimeSpan time = dr.GetTimeSpan(dr.GetOrdinal(“Time7FieldName”));
0
Imran Rizvi