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.
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
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
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.
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
vous pouvez le lire en utilisant datareader en utilisant quelque chose de similaire à la déclaration suivante.
TimeSpan time = dr.GetTimeSpan(dr.GetOrdinal(“Time7FieldName”));