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

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

Не могу прогнать запрос из Delphi в бд Access, поле с датой..


Layner ©   (2006-08-29 08:59:00) 

Здравствуйте! Вот так проходит на ура:
SELECT field1,field2,field3 FROM tabl1 WHERE field3 = #07/01/2005#
Как только добавляю минуты, возникает ошибка в ADOQuery, " Неправильно определен объект Parameter. Предоставлены несовместимые или неполные сведения"
SELECT field1,field2,field3 FROM tabl1 WHERE field3 = #07/01/2005 09:02:46#
field3- поле ДатаВремя

Как правильно из Delphi отправить запрос на Access? PS. В Access оба запроса работают, и возвращают выборку.


sniknik   (2006-08-29 11:08:00) [1]

> значит это ":" воду мутит для ADOQuery :)
для делфевских компанент это признак что после идет параметр... если тебе не нужен авторазбор запроса на параметры отключи его. и это не "муть", это вполне задокументированное поведение.

> Кстати, запрос с форматом 07/01/2005 09.02.46 проходит на всех машинах, не зависимо от их настроек даты/время.
независимы только параметры, строковые представления всегда от конвертора зависят а он от чего угодно...
выполни запрос к примеру
SELECT #13/01/2005 09.02.46#, #01/13/2005 09.02.46#
интересный результат да? а это все ты должен учитывать если хочеш чтобы твои строковые представления всегда приводились так как ты задумывал. (я бы в одном из случаев примера предпочел бы ошибку... мало ли, сам ошибешся а это проглотится и перейдет уже в разряд логических... подзабудеш где делал или не очевидная связь... и могут месяцы на выявление уйти )


Layner   (2006-08-29 09:15:00) [2]

ВО, так и знал, запрос с точками проходит без проблем, значит это ":" воду мутит для ADOQuery :)
Кстати, запрос с форматом 07/01/2005 09.02.46 проходит на всех машинах, не зависимо от их настроек даты/время.


Layner   (2006-08-29 09:12:00) [3]

ADOQuery подставляет вот это 02:46#окончание как парамерт, может быть разделители минут поменять? Сейчас попробую.


sniknik   (2006-08-29 09:12:00) [4]

> А почему тогда без времени проходит, когда просто одна дата?
потому что тогдв в запросе нет двоеточий, которые известно как дельфи воспринимает... и что нужно делать чтобы не воспринимал. ;)


Sergey13   (2006-08-29 09:10:00) [5]

> [3] Layner ©   (29.08.06 09:07)

Можно подбирать формат. Можно подбирать формат для разных машин и пользователей.
А можно просто использовать параметры.
Выбор за тобой.


Layner   (2006-08-29 09:07:00) [6]

А почему тогда без времени проходит, когда просто одна дата? Мне кажется тут надо опр. запись даты с времением формировать, иначе бы и просто с одной датой не работало..


Layner   (2006-08-29 09:05:00) [7]

ADOQuery только формирую динамически... ещё параметры при формировании добавлять?


Sergey13   (2006-08-29 09:01:00) [8]

Параметры в запросе используй.


Наверх

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