![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
выполнение sp с параметрами [D7, MSSQL]
Kelly © (2008-09-30 18:31:00)При вызове execute ругается что неверно определен объект параметр
/*в процедуре два параметра, один инпут и один аутпут */
with TADOCommand.Create(Self) do
try
Connection := ADOConnection1;
CommandText := 'GET_STATE';
CommandType := cmdStoredProc;
with Parameters.AddParameter do
begin
Name := 'p_source_id';
DataType := ftInteger;
Direction := pdInput;
Value := 13879;
end;
with Parameters.AddParameter do
begin
Name := 'p_out_state';
DataType := ftInteger;
Direction := pdOutput;
end;
Execute;
....
Kelly (2008-10-01 09:44:00) [1]в общем после многих научных тыков удалось вызвать эту процу.
Параметры создаю явно как и было описано выше.
(После refresh длина коллеции параметров возвращает верное значение, но экзек все равно заканчивается неудачей, "'экспектс такой-то параметер вич вазнот сапплаед" )
То есть подозреваю, что после рефреша надо все равно явно выставлять всем параметрам типы, дирекшен и прочее.
Во вчерашнем коде причина ошибки была в том, что есть еще один аутпут параметр строкового типа. Он создавался точно так же, но ему не был указан Size. После указания длины все поехало как надо.
И еще почему-то когда имя процедуры устанавливаешь в дизайне, с помощью редактора командтекст, то все хранимки видны как <оригинальное_имя>;1
То есть в дизайне у меня присвоилось 'GET_STATE;1'
sniknik (2008-09-30 20:55:00) [2]> где подразумевается использование параметра?
при cmdStoredProc это имя процедуры, параметры запрашиваются с сервера, те с которыми процедура написана.
kaif (2008-09-30 20:15:00) [3]CommandText := 'GET_STATE';
А где здесь в тексте команды место, где подразумевается использование параметра?
sniknik (2008-09-30 19:35:00) [4]параметры не нужно создавать, их нужно считывать (рефреш вроде пойдет, не помню давно с процедурами как с cmdStoredProc не работал, явным запросом проще)
clickmaker (2008-09-30 18:48:00) [5]а в хранимке out стоит у параметра?
Kelly (2008-09-30 18:38:00) [6]Не помогает. Пробовал и с собачкой и без. Текст ошибки одинаков
clickmaker (2008-09-30 18:36:00) [7]может, собачку надо перед именем?