Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Даты в Access [D7, Access]


stone ©   (2004-09-10 09:40:00) 

Столкнулся с такой проблемой. В цикле добавляются записи в таблицу (insert into ... ). В качестве параметра передается дата (ShowDate: TDateTime).
Parameters.ParamByName('ShowDate').Value := trunc(ShowDate);

в результате наблюдаю такую картину:
ShowDate
10.09.2004
09.10.2004
09.10.2004
09.10.2004
09.10.2004
09.10.2004
т.е. в одном случае день и месяц поменялись местами

Как лечить?


sniknik   (2004-09-10 12:04:00) [1]

> повторить ее можеш?
>> могу

а выделить? кусок кода который так работает (и прислать мне, чтобы не все)?


stone   (2004-09-10 11:31:00) [2]


> повторить ее можеш?

могу, думал может из-за региональных настроек, но на разных компах рез-т одинаковый.

> странный глюк, т.к. у тебя датой параметр передается (числом
> а не строкой) то это практически невозможное поведение

В том-то и дело...


sniknik   (2004-09-10 11:18:00) [3]

roottim ©   (10.09.04 11:10) [6]
если уж передавать строкой то в формате исключающем "кривотолки"
например так
INSERT INTO Table (DateField) VALUES ('2004-10-09')


sniknik   (2004-09-10 11:14:00) [4]

> Столкнулся с такой проблемой. ....
повторить ее можеш?
странный глюк, т.к. у тебя датой параметр передается (числом а не строкой) то это практически невозможное поведение. вот если со строки движок преобразует то вполне вероятно (у него в этом случае "заморочки")


roottim   (2004-09-10 11:10:00) [5]

строковый вид даты помоему амирикоский #mm/dd/yyyy#во избежание строковых преобразований, не меняйте идеолгию.. используите всегда параметрвы

попробуйте конкретно
Parameters.ParamByName('ShowDate').AsDateTime := ...


stone   (2004-09-10 11:01:00) [6]


> Я всегда сохраняю дату в числовом виде!!!

Гениально :)) А сама дата (DateTime) что по-твоему из себя представляет?


46_55_41_44   (2004-09-10 10:46:00) [7]

Я всегда сохраняю дату в числовом виде!!!
и никакого тебе формата...
нормально работает
Советую!!!


AleKo   (2004-09-10 10:06:00) [8]

Скорей всего при преобразовании даты в параметре используется формат даты по умолчанию.


stone   (2004-09-10 10:03:00) [9]

тогда все меняет на 10.09.2004 :))
но это уже лучше лучше, попробую выкрутиться через FormatDateTime


AleKo   (2004-09-10 09:57:00) [10]

Предлагаю сделать параметр ShowDate как FixedChar и присваевай ему дату в виде строки DateToStr(DateTimePicker1.Date). У меня работает.


Наверх

Титульная страница Поиск, карта сайта Написать письмо