CREATE PROCEDURE checkmoney
@inp decimal(7),
@p char(20),
@result char(20) OUTPUT
AS
----------------
adostoredproc2.Refresh();
ADOStoredProc2.Parameters.ParamByName('@p').Value:='200';
ADOStoredProc2.Parameters.ParamByName('@inp').Value:=100;
ADOStoredProc2.Parameters.ParamByName('@result').Value:='';
adostoredproc2.Prepared;
//adostoredproc2.Active;
adostoredproc2.ExecProc;
str:=ADOStoredProc2.Parameters.ParamByName('@result').Value;
showmessage(str);----------------------------------
出现的结果是adostoredproc2:can't perform this operation on a closed dataset但我以前都是这样用,而且在同一个程序里,另一处用到的存储过程可以顺利使用,
而这个却不行,为什么?望高手指点
@inp decimal(7),
@p char(20),
@result char(20) OUTPUT
AS
----------------
adostoredproc2.Refresh();
ADOStoredProc2.Parameters.ParamByName('@p').Value:='200';
ADOStoredProc2.Parameters.ParamByName('@inp').Value:=100;
ADOStoredProc2.Parameters.ParamByName('@result').Value:='';
adostoredproc2.Prepared;
//adostoredproc2.Active;
adostoredproc2.ExecProc;
str:=ADOStoredProc2.Parameters.ParamByName('@result').Value;
showmessage(str);----------------------------------
出现的结果是adostoredproc2:can't perform this operation on a closed dataset但我以前都是这样用,而且在同一个程序里,另一处用到的存储过程可以顺利使用,
而这个却不行,为什么?望高手指点
楼上的00:00还没休息啊
Tip:
If an application is only interested in the result set returned by a stored procedure, call Open method for the TADOStoredProc component or set its Active property to true.