![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Oracle & DBX [IB6.x]
Johnmen © (2003-03-03 12:00:00)Неожиданно возникла проблема, даже, я сказал бы, непонятка...
Имеется TSQLQuery c WHERE ... (<поле типа number(10)>=:id)
Если вместо параметра проставить конкретное целое число, то все нормально, если использовать параметр (определив его как входной, целочисленный, значение тоже целое), то и в дизайн и в рантайме получаю "DBX Error: Invalid Field Type."
Подскажите, пожалуйста, в чем может быть дело.
Nikolay M. (2003-03-04 12:03:00) [1]Вопрос наивный, но уточнить все-таки нужно: ParamType у параметра указан? Думаю, что ответ будет утвердительный. Тогда, если стоит Д5, можно попробовать поставить Update Pack (если он не установлен, конечно).
Johnmen (2003-03-04 12:03:00) [2]Спасибо, мужики, подтолкнули, разобрался...
Действительно, особенность параметров в TSQLQuery.
Работает так (<поле типа number(10)>=:id), причем параметр надо определить как ftString ! Во как ! :)))
>Val ©
>...почему указаны Oracle и IB
Виноват, не доглядел :). Правильно - Oracle.
Val (2003-03-04 11:57:00) [3]параметр (определив его как входной, целочисленный, значение тоже целое)
кстати - у нас проект работает с Oracle/BDE, так вот, поскольку бде также тупит с целым параметром, то обычно у параметра даже для целых значений выставляется DataType:ftFloat, ParamType: ptUnknown, Value.Type:Unassigned.
Val (2003-03-04 11:50:00) [4]>Johnmen © (04.03.03 11:22)
>Val ©
По-моему, мы на "ты"... :))
:) да я, бывает, просто не обращаю внимания, в какой форме обратился.
по теме:
а скажи для тех кто в танке, почему указаны Oracle и IB, к какой субд все-таки происходит запрос?
passm (2003-03-04 11:31:00) [5]Johnmen © (04.03.03 11:22)> Т. е. дело не в Oracle...
Возникает подозрение о понимании DBX параметров. Если выполнить запрос типа:
VALUES(CAST(:ID AS CHARACTER(32)))
И попробовать искать решение отталкиваясь от него.
Johnmen (2003-03-04 11:22:00) [6]>Val © (04.03.03 10:44)
>passm © (04.03.03 10:52)
Спасибо за идею, но <поле типа number(10)> = CAST(:ID AS NUMBER(10)) не помогло...
>Val ©
По-моему, мы на "ты"... :)))
>а на каком этапе происходит ошибка?
В дизайне при попытке выставить Active в True, в рантайме соответственно при попытке выполнить Open.
passm (2003-03-04 10:52:00) [7]Johnmen © (03.03.03 12:00)> А если <поле типа number(10)> = CAST(:ID AS NUMBER(10))
Val (2003-03-04 10:44:00) [8]скажите, а на каком этапе происходит ошибка?
может, попробовать привести в запросе поля к одному типу?
Johnmen (2003-03-04 10:05:00) [9]...вопрос остался...
Johnmen (2003-03-03 15:03:00) [10]...всплываем...
Johnmen (2003-03-03 12:14:00) [11]Перепробовал массу вариантов, Float в т.ч.
Результат аналогичен...
Val (2003-03-03 12:10:00) [12]а с Float?