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