2009-06-29 9 views
3
using System.Data; 
using System.Data.SqlClient; 

J'utilise un SqlCommand cmd.Parameters de SqlDbType.DateTime pour créer un enregistrement dans la base de données.Est-ce que SqlDbType.DateTime ne stocke pas les secondes?

Les secondes ne sont pas stockées dans la base de données. Le champ dans la base de données est de type datetime.

Ai-je besoin de faire quelque chose de spécial pour économiser des secondes, ou est-ce que SqlDbType.DateTime ne le fait pas?

+0

Êtes-vous positif la valeur du paramètre a secondes? – dotjoe

Répondre

3

SqlDbType.DateTime correspond au type de données DATETIME de SQL, avec une précision de 3,33 millisecondes. Il semble que vous placiez vos valeurs dans un champ SMALLDATETIME dans le serveur SQL, ce qui est juste précis à la minute. SqlDbType.DateTime paramètre serait le bon choix pour une utilisation avec à la fois DATETIME et SMALLDATETIME.

0

DateTime SQL Server stocke le temps avec une précision de milliseconde (pas tout à fait raison arrondit à 0,003 0,007 etc)

Smalldatetime, cependant, les dates de magasins tels que les secondes sont toujours: 00. Vous avez probablement utilisé smalldatetime.

http://msdn.microsoft.com/en-us/library/ms182418.aspx

Questions connexes