Additional
dbCAP
AnyDAC
ThinDAC
NCOCI8
Topic: параметр в конструкции SELECT ... WHERE ...
параметр в конструкции SELECT ... WHERE ...
Posted: 2007/05/23 06:24
 
Приветствую.

Можно ли использовать параметры в конструкции:

 SELECT any_fields FROM any_table WHERE some_field > :F1


При вызове TADQuery.Open возникает исключение
[AnyDAC][Phys][MySQL][LIBMYSQL] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') A' at line 3)
при выполнении

 SELECT count(*) FROM (SELECT any_fields FROM any_table WHERE some_field < ) A


При этом тело первоначального селекта урезается до символа ":" перед параметром, подстановка параметра не делается.

В моем случае нужно подставить значение даты/времени в подходящем для базы формате. Как это сделать правильно?

Использую D7, AnyDAC v1.12.2, MySQL v5.0.27

Спасибо. АК
Re:параметр в конструкции SELECT ... WHERE ...
Posted: 2007/05/23 06:43
 
В моем случае TADQuery.FetchOptions.RecordCountMode был установлен в cmTotal. При замене на cmFetched. SELECT count(*) не вызывается, и запрос выполняется. На данный момент мне этого достаточно, но такое поведение компонента выглядит неочевидным.
Re:параметр в конструкции SELECT ... WHERE ...
Posted: 2007/05/23 06:51
 
Спасибо за отчет. Это баг, буду править.

Удачи,
Дмитрий