Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.22;
Скачать: CL | DM;

Вниз

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

 
Layner ©   (2006-08-29 08:59) [0]

Здравствуйте! Вот так проходит на ура:
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 оба запроса работают, и возвращают выборку.


 
Sergey13 ©   (2006-08-29 09:01) [1]

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


 
Layner ©   (2006-08-29 09:05) [2]

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


 
Layner ©   (2006-08-29 09:07) [3]

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


 
Sergey13 ©   (2006-08-29 09:10) [4]

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

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


 
Layner ©   (2006-08-29 09:12) [5]

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


 
sniknik ©   (2006-08-29 09:12) [6]

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


 
Layner ©   (2006-08-29 09:15) [7]

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


 
sniknik ©   (2006-08-29 11:08) [8]

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

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



Страницы: 1 вся ветка

Текущий архив: 2006.10.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.056 c
3-1156023966
Lexander
2006-08-20 01:46
2006.10.22
Как правильно сделать копию БД?


15-1159193758
MeF Dei Corvi
2006-09-25 18:15
2006.10.22
MySQL и SQLite: что быстрее?


15-1159381674
PHPDeveloper
2006-09-27 22:27
2006.10.22
TWebBrower


2-1160069377
vain
2006-10-05 21:29
2006.10.22
756E697420556E69


15-1159266623
Reindeer Moss Eater
2006-09-26 14:30
2006.10.22
кричалка чилийских коммунистов