Я начал новый проект ASP.NET MVC две недели назад. Я использую микро ORM NPoco, и мне это нравится!Вставить DateTime с миллисекундами в SQL Server
Во время тестирования я столкнулся с проблемой сохранения DateTime
свойств в SQL Server 2014 Express.
Когда я попытался вставить значение DateTime
00:03:28.385
, он был сохранен в базе данных как 00:03:28.387
. Тип столбца базы данных: time(7)
. Я попытался datetime2(7)
и результат всегда одинаков -> 00: 03: 28,387
Тогда я попробовал обычную System.Data.SqlClient
:
var insert = "insert into Foo(time) values (@time)";
var conn = new SqlConnection(@"conntionString");
conn.Open();
var cmd = new SqlCommand(insertString.ToString(), _conn);
cmd.Parameters.AddWithValue("@Time", DateTime.ParseExact("00:03:28.385", "HH:mm:ss.fff", CultureInfo.InvariantCulture));
cmd.ExecuteNonQuery();
Результат был тот же: 00:03:28.387
Было бы работал, когда вставьте время в виде строки.
insert into Foo(time) values ('00:03:28.385')
Так что это не проблема с NPoco!
Любая помощь была бы принята с благодарностью.
Спасибо, Стефан
«@Time» в cmd.Parameters.AddWithValue начинается с капитала «T», но в вашей строке он начинается с нижнего регистра «t». может ли это быть проблемой? – Peyman
Из кода и примеров видно, что вы вставляете только время, а не дату и время ... – jjczopek
Вероятно, вы не должны использовать 'addwithvalue' и быть явным о параметре datatype. –