Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Добавлено: 06 Октябрь 2017, 18:54
Тремя способами, в зависимости от настроения левой ноги
1. Программа LoadQueueFromSQL принимает дату и в текстовое поле формата ГГГГ/ММ/ДД чч:мм:cc , а при разборке если строка соответствует шаблону, это дело расписывается не в одно, а в два - дата и время. В одном из проектов время было нафиг не нужно, даты хватило, тогда ещё проще.
2. В SQL написана аккуратная функция, которая переводит поле DateTime ( в MS SQL DateTime - число с плавающей точкой, одна единица равнаяется одним суткам, час равен 1/24 и т.д в строку клариона ('дата время'), а дальше уже я сам.
3. Можно просто использовать CAST или CONVERT, дабы передать дату и время как хочется....
Ну и повторный проход по очереди тоже юзал... Только была функция типа QueueDateTime( *Queue Q, *? DatetimeField, *? DateField, *? TimeField)
Тогда один вызов преобразует нужное поле во всей очереди сразу.
P.S. - тестовое приложение в понедельник выложу...
1. Программа LoadQueueFromSQL принимает дату и в текстовое поле формата ГГГГ/ММ/ДД чч:мм:cc , а при разборке если строка соответствует шаблону, это дело расписывается не в одно, а в два - дата и время. В одном из проектов время было нафиг не нужно, даты хватило, тогда ещё проще.
2. В SQL написана аккуратная функция, которая переводит поле DateTime ( в MS SQL DateTime - число с плавающей точкой, одна единица равнаяется одним суткам, час равен 1/24 и т.д в строку клариона ('дата время'), а дальше уже я сам.
3. Можно просто использовать CAST или CONVERT, дабы передать дату и время как хочется....
Ну и повторный проход по очереди тоже юзал... Только была функция типа QueueDateTime( *Queue Q, *? DatetimeField, *? DateField, *? TimeField)
Тогда один вызов преобразует нужное поле во всей очереди сразу.
P.S. - тестовое приложение в понедельник выложу...