Question

using System.Data;
using System.Data.SqlClient;

I am using a SqlCommand cmd.Parameters of SqlDbType.DateTime to create a record in the database.

Seconds are not being stored in the database. The field in the db is of type datetime.

Do I need to do something special to save seconds, or does SqlDbType.DateTime not do that?

Was it helpful?

Solution

SqlDbType.DateTime maps to SQL's DATETIME datatype, which is accurate to 3.33 milliseconds. It sounds like you may be putting your values into a SMALLDATETIME field in SQL server, which is only accurate to the minute. SqlDbType.DateTime parameter would be the correct choice for use with both DATETIME and SMALLDATETIME.

OTHER TIPS

SQL Server DateTime stores time with millisecond accuracy (not quite right it rounds to .003 .007 etc)

Smalldatetime, however, stores dates such that the seconds are always :00. You have probably used smalldatetime.

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top