Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP на месте заказчика / 8 сообщений из 8, страница 1 из 1
01.08.2003, 08:01
    #32224487
Чумаков А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP на месте заказчика
Наваял проект, все отладил у себя, все работало - OK (клиент ADP 2000,
сервер SQL 2000)

Притащил заказчику.
У него при открытии форм выдается

The convrsion of a char data type to a datetime data type resulted in an out-of-
range datetime value.

Подозревая, что это результат отработки моей функции.
В ней открывается рекодсет, в строке SQL, которого присутствует
"..... CONVERT(CHAR(10), DateDemand, 1) = '" & Format$(MyDate, "mm\/dd\/yy") & "'....."

Какие мысли будут у народа по поводу данной ситуации ???
...
Рейтинг: 0 / 0
01.08.2003, 08:13
    #32224494
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP на месте заказчика
Язык по умолчанию для клиента на сервере заказчика отличается от твоего.
...
Рейтинг: 0 / 0
01.08.2003, 12:57
    #32224928
iSestrin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP на месте заказчика
для мссиквела формируй всегда дату в ISO - формате, проблем никогда не будет независимо от установок:

Format(MyDate, "yyyymmdd")
...
Рейтинг: 0 / 0
01.08.2003, 12:59
    #32224931
iSestrin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP на месте заказчика
да, и в запросе убери конвертацию даты, т.е. вместо

CONVERT(CHAR(10), DateDemand, 1)

просто

DateDemand
...
Рейтинг: 0 / 0
04.08.2003, 13:35
    #32226348
Чумаков А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP на месте заказчика
если не поставить CONVERT(...., то сравнение даты неверно отрабатывается.
В SQL дата хранится вместе со временем и на эти грабли я уже наступал.
...
Рейтинг: 0 / 0
04.08.2003, 14:06
    #32226397
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP на месте заказчика
вариант
преобразовывай дату в числовой формат с точностью до единиц
1. CONVERT(INT.... (для серверных процедур)

или Clng(DATE) - 2 на клиенте при формировании динамического запроса.
...
Рейтинг: 0 / 0
04.08.2003, 14:10
    #32226402
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP на месте заказчика
и еще в хранимках можно принудительно указывать формат даты
в начале процедуры поставь

SET DATEFORMAT mdy

DECLARE @datevar datetime
SET @datevar = '12/31/98'

SET DATEFORMAT ydm
DECLARE @datevar datetime
SET @datevar = '98/31/12'

SET DATEFORMAT ymd
DECLARE @datevar datetime
SET @datevar = '98/12/31'
...
Рейтинг: 0 / 0
04.08.2003, 19:39
    #32226855
korall
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP на месте заказчика
> В SQL дата хранится вместе со временем и на эти грабли я уже наступал.

А действительно ли требуется в этом случае хранить дату со временем?
У меня в подобном случае дата заносилась со временем 00:00 и тогда можно было не заморачиваться с проблемой минут.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP на месте заказчика / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]