![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как передать параметры в х.п.? [D7, MSSQL]
Bless © (2003-11-28 16:27:00)
Есть хранимая процедура, с текстом
CREATE PROCEDURE [v_newF2]
@nzs int,
@isp int,
@nzo int,
@mas varchar (100),
@nzsme int OUTPUT
AS
SET NOCOUNT ON
...
Как мне передать в нее параметры?
Есть sp=TADOStoredProc
Я писал так:
sp.procedureName:="v_newF2"
sp.parameters.paramvalues["nzs"]:=x;
и т.д.
Но почему-то поставив здесь точку останова, вижу, что
sp.parameters.count=0. То бишь нет параметров.
В чем тут дело? С хранимой процедурой первый раз сталкиваюсь.
Bless (2003-12-01 15:12:00) [1]
To Nikolay M.> ParamBindMode у ADOStoredPorc нету. Так что все-таки по порядку.
Bless (2003-12-01 09:16:00) [2]
to ZrenBy, Nikolay M.> Спасибо.
Nikolay M. (2003-11-28 18:50:00) [3]
> >>По имени или по порядку?
> По порядку
В зависимости от ParamBindMode. Хотя иногда может глючить.
ZrenBy (2003-11-28 17:42:00) [4]
>>По имени или по порядку?
По порядку
>>И какая разница для Parameter.Direction в значениях
>>pdOutput и pdReturnValue?
pdOutput - это @nzsme int OUTPUT
pdReturnValue - это return(123)
В ран-тайме можно делать так
ADOSP.Parameters.Clear;
ADOSP.Parameters.CreateParameter("@RETURN", ftInteger, pdReturnValue,4,0);
ADOSP.Parameters.CreateParameter("@I_U",ftInteger,pdInput,4,0)
ADOSP.Parameters.CreateParameter("@I_A",ftInteger,pdOutput,4,0)
Bless (2003-11-28 17:19:00) [5]
И какая разница для Parameter.Direction в значениях
pdOutput и pdReturnValue?
Bless (2003-11-28 17:09:00) [6]
А как определяется какой параметр в parameters какому параметру в хп соответствует? По имени или по порядку?
Bless (2003-11-28 16:52:00) [7]
Нифига себе! Неожиданно, однако. Ладно, спасибо. Сейчас попробую.
Nikolay M. (2003-11-28 16:49:00) [8]
Ессесно!
Если динамически назначаешь имя ХП, то и параметры нужно создавать руками.
А если имя ХП назначаешь в дизайне, то в дизайне же можешь поставить им значения и даже открыть ХП и посмотреть результат.