![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Даты в 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). У меня работает.