Параметрический запрос

Дмитрий Орлов
Дата: 03.10.2005 07:34:34
Товарищи возможно ли сделать запрос, к примеру как в delphi:

sql.text := 'select * from table where id=:id';
sql.Params.paramByName('id').asFloat := 0;

причем секция where и соответсвенно параметры генерируются в процессе работы программы динамически?

Заранее благодарю!!
Ответ1
Дата: 03.10.2005 08:28:15
sql.text := 'select * from table where id=?';
sql описать к примеру как OleDbCommand и добавить к ней параметр с нужной величиной (смотри MSDN)
Дмитрий Орлов
Дата: 03.10.2005 08:57:58
Да я смотрел и не понял, а как он потом разгребается если есть к примеру 3 параметра, которые используются в разных местах запроса с повторением?

То есть есть в запросе 5 "?" , и как они их потом разгребет ?
Ответ1
Дата: 03.10.2005 12:06:24
ты параметры называй тем же именем что и поля к которым они соответственно соотносятся..
Ответ1
Дата: 03.10.2005 12:09:48
а вообще, когда делаешь oOleDbCommand.Parametrs.Add....
они по-моему добавляются в той же последовательности , как они указаны в запросе (на случай если на одно поле будет 2 и более параметров (типа конструкции in или иetween в sql-запросах))
Дмитрий Орлов
Дата: 03.10.2005 12:12:10
Ответ1
ты параметры называй тем же именем что и поля к которым они соответственно соотносятся..
а если это результат функции без названия
Дмитрий Орлов
Дата: 03.10.2005 12:14:30
Короче полный абсурд , ну почему все параметры это '?', я более чем уверен что напишу запрос на котором вся это непонятная "привязанность" загнется
Ответ1
Дата: 03.10.2005 12:43:58
что результат функции? значение параметра? Если так, то pParametr.Value=Функция()

Да просто тут всё с параметрами....стоит только понять и всё...
Витал
Дата: 04.10.2005 14:13:00
Вместо ? можно @ParamName и передавать зачение по имени параметра (все как в функциях - передача по порядку следовпания или по имени парметра).
А можно и весь запрос (текст его) динамически компоновать. Тогда параметров не надо.