Что ваше заявление DateTime.Now.ToString()
возвращает ??
Какие языковые и региональные настройки ожидает ваш SQL Server ??
У тебя там несоответствие ??? Возможно, ваш .NET возвращает формат MM/dd/yyyy
, в то время как SQL Server ожидает dd/MM/yyyy
(или наоборот).
Попробуйте этот код на вашем SQL Server:
DECLARE @test TABLE (smalldate SMALLDATETIME)
INSERT INTO @test VALUES ('02/21/2010 22:00:32') --
SELECT * FROM @test
Замените мою строку на то, что вы получили от .NET DateTime.Now.ToString()
- это работает? SQL Server дает вам лучшее сообщение об ошибке?
Далее попробуйте использовать формат даты ISO-8601 для дат (ГГГГММДД) - это работает для ВСЕХ региональных и языковых настроек в SQL Server - это работает ??
DECLARE @test TABLE (smalldate SMALLDATETIME)
INSERT INTO @test VALUES ('20100221 22:00:32') --
SELECT * FROM @test