環境:Delphi5
oracle9i
TADOStoredProcを用いて、ストアドを実行するプログラムを作っています。
そのストアドのOutパラメータとして、
CHAR、VARCHARの値を戻そうとしています。(Numberは指定せずに取得できています)
その際に、Outパラメータに対してsizeプロパティを省いて実行しようとすると
実行時に、エラーになってしまいます。
BDEの場合はプロパティが存在しないのもあり考慮せずに使えたので、
ADOでも同様にsizeプロパティの指定を省略する事は可能でしょうか?
また不可能だった場合、可変のOutパラメータのsizeを余分なく、指定する方法はありますでしょうか?
ーーーーーーーストアドーーーーーーーーーー
Create Or Replace Procedure XXXX (
I_ARG1 IN CHAR,
O_Message OUT VARCHAR2,
O_Code OUT NUMBER
) IS 〜
ーーーーーーーDelphiーーーーーーーーーーー
with ADOStoredProc do
begin
ProcedureName:='XXXX';
Parameters.Refresh;
Parameters[0].Value:='XX';
Paramerers[1].size:=2048; ←省略したい
ExecProc;
if Parameters[2].Value <> 0 then
showmessage(Parameters[1].Value);
end;
知ってる方がいらっしゃいましたら、
お忙しいとは思いますが、ご教示ください。
よろしくお願いします。
ツイート | ![]() |