sql datetime переполнение - PullRequest
       1

sql datetime переполнение

1 голос
/ 03 ноября 2010

net, и я пытаюсь вставить строку в сущность, и я получаю следующую ошибку:

SqlDateTime переполнение.Должно быть между 01.01.1753 12:00:00 и 31.129999 11:59:59 вечера.

Вот мой код на стороне C #:

        public static void DumpToLog(string s, string userID)
    {
        var ler = new LoggedExceptionRepository();
        var lex = new LoggedException();
        lex.loginID = userID;
        lex.dateTime = DateTime.Now;
        lex.text = s;
        ler.Add(lex);
        ler.Save();
    }

Я попытался запустить SQL Server Profiler и единственное, что он выполняет, это выполнить следующее (что, если я выполняю непосредственно на сервере SQL,это работает !!):

    exec sp_executesql N'insert [dbo].[LoggedExceptions]([text], [loginID], [dateTime])
values (@0, @1, @2)
select [ID]
from [dbo].[LoggedExceptions]
where @@ROWCOUNT > 0 and [ID] = scope_identity()',N'@0 nvarchar(max) ,@1 varchar(50),@2 datetime',@0=N'payment failed, rv = 0',@1='riz',@2='2010-11-03 12:05:00:690'

какие-либо предложения относительно того, что я могу сделать дальше?

Ответы [ 3 ]

0 голосов
/ 03 ноября 2010

Есть ли другой столбец даты и времени в LoggedExceptions, который вы не устанавливаете? Есть случаи, когда фреймворк будет использовать DateTime.MinValue для заполнения неуказанных столбцов. Попробуйте установить явные значения для всех столбцов даты и времени в LoggedExceptions.

0 голосов
/ 03 ноября 2010

обнаружил проблему. Я просто не осознавал, что я создавал новые объекты и назначал их существующим объектам ранее в коде. поэтому, когда он сохранял текстовый текст данных, у него была проблема с этими более ранними объектами.

0 голосов
/ 03 ноября 2010

работает, если вы жестко закодировали значение параметра даты? может быть что-то еще, или это может быть вводящее в заблуждение сообщение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...