|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
выбор хранимой процедуры через CommandText
Есть связка TIBDatabase -> TIBTransaction -> TIBStoredProc -> TDataSetProvider -> TClientDataSet
Нужно в клиенте указать имя хранимой процедуры, получить параметры, заполнить их и выполнить. Я делаю так: ClientDataSet.CommandText := 'имя_хранимой_процедуры'; ClientDataSet.FetchParams; ... { Тут должно быть заполнение параметров, но они почему-то не выбираются } Execute; В DataSetProvider стоит свойство [poAllowCommandText] В IBStoredProc процедура не выбрана. Как реализовать редактирование таблиц разными хранимыми процедурами, используя только один TIBStoredProc, при условии, что доступ к нему через TClientDataSet? |
#2
|
|||
|
|||
Если кому интересно, то вот на чем я пока остановился.
Когда CommandText присваиваешь запрос или имя хранимой процедуры, то он передается на сервер только при вызове методов Open или Execute. Поэтому запросить параметры с сервера, используя TClientDataSet и без лишних хитростей мне не удалось. Тогда я написал, в лоб: ClientDataSet.CommandText := 'имя_хранимой_процедуры'; Params.Clear; Params.CreateParam(ftSmallint, 'имя_параметра', ptInput).AsSmallInt := 1; Execute; Процедура успешно выполнилась. |