помогите с передачей параметров

fjfgjh
Дата: 19.11.2007 15:03:50
подскажите пожалуйста
на клиенте Delphi есть запрос select * from T where id in (:param)
как мне передать параметр из Delphi так что бы он содержал список id и запрос при этом работал.
попытался строкой естественно не работает. при чем нужго именно в одном параметре это передать то есть запрос менять нельзя.
andrey_anonymous
Дата: 19.11.2007 15:08:04
fjfgjh
подскажите пожалуйста
на клиенте Delphi есть запрос select * from T where id in (:param)
как мне передать параметр из Delphi так что бы он содержал список id и запрос при этом работал.
попытался строкой естественно не работает. при чем нужго именно в одном параметре это передать то есть запрос менять нельзя.

Если запрос менять нельзя, то дело швах.
Вариантов только два:
- делать in набором данных (решения на форуме воде были - например, можно на XML-преобразовании)
- использовать instr (примеры тоже есть на форуме)
Однако оба этих варианта требуют модификации запроса :(
andy_versal
Дата: 19.11.2007 15:09:13
это вопрос к компонентам доступа, которыми Вы пользуетесь.
например DOA (Direct Oracle Access) позволяют это делать с параметрами особого типа - Substitution, т.е. на самом деле тупо делают замену строки.
sdfgsd
Дата: 19.11.2007 15:11:45
с помощью DOA а поподробнее нельзя
Спасибо
Johnmen
Дата: 19.11.2007 15:18:29
x := '(1,2,3,4,5,6,7)';
'select * from T where id in ' + x;
Так понятно?
Grindex
Дата: 19.11.2007 15:19:21
sdfgsd
с помощью DOA а поподробнее нельзя
Спасибо

На пальцах DAO это прослойка для связи с Oracle, только осторожней он тоже платный как и ODAC, а то попадешь как я с этим Trialom.
tyerty
Дата: 19.11.2007 15:28:34
хотелось бы подробнее про тип substitution
alex0
Дата: 19.11.2007 15:54:09
tyerty
хотелось бы подробнее про тип substitution

Намек понимаешь? Внимание, намек: сгенери текст запроса динамически
tyi
Дата: 19.11.2007 16:34:47
всем спасибо разобрался
Ivengo
Дата: 19.11.2007 18:48:58
Есть компоненты, которые используют макросы. Можно ручками написать функцию, которая в запрос будет подставлять макрос, можно сделать свой компонент в конце-то концов (работы на 5 минут).