Вопрос

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

Я использую SqlCommand cmd.Parameters из SqlDbType.DateTime чтобы создать запись в базе данных.

Секунды не сохраняются в базе данных.Поле в базе данных имеет тип datetime.

Нужно ли мне делать что-то особенное, чтобы сэкономить секунды, или SqlDbType.DateTime не делать этого?

Это было полезно?

Решение

SqlDbType.DateTime сопоставляет с SQL-файлами DATETIME тип данных с точностью до 3,33 миллисекунды.Это звучит так, как будто вы, возможно, вкладываете свои ценности в SMALLDATETIME поле в SQL server, которое является точным только с точностью до минуты. SqlDbType.DateTime параметр был бы правильным выбором для использования с обоими DATETIME и SMALLDATETIME.

Другие советы

SQL Server DateTime хранит время с точностью до миллисекунды (не совсем верно, оно округляется до .003 .007 и т.д.)

Однако Smalldatetime сохраняет даты таким образом, что секунды всегда равны :00.Вероятно, вы использовали smalldatetime .

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top