我调用存储过程哪错了?????老说我没有没有输入参数
存储过程如下:
CREATE PROCEDURE proc_sumsell
@suma float output,
@sumb float output
AS
set @suma=(select sum(销售量) from sell2);
set @sumb=(select sum(纯销售额) from sell2);
if @suma is null set @suma=0.0;
if @sumb is null set @sumb=0.0;
return @suma
return @sumb;
GO我在d6的调下如下:
proc.ProcedureName :='proc_sumsell';
proc.Active :=true; ///老说@suma没有提供参数Edit1.Text :=proc.fieldbyname('suma').AsString ;
Edit2.Text :=proc.fieldbyname('sumb').AsString ;proc.Close ;各位大人我的错在哪里啊
存储过程如下:
CREATE PROCEDURE proc_sumsell
@suma float output,
@sumb float output
AS
set @suma=(select sum(销售量) from sell2);
set @sumb=(select sum(纯销售额) from sell2);
if @suma is null set @suma=0.0;
if @sumb is null set @sumb=0.0;
return @suma
return @sumb;
GO我在d6的调下如下:
proc.ProcedureName :='proc_sumsell';
proc.Active :=true; ///老说@suma没有提供参数Edit1.Text :=proc.fieldbyname('suma').AsString ;
Edit2.Text :=proc.fieldbyname('sumb').AsString ;proc.Close ;各位大人我的错在哪里啊
Close;
ExecProc;
Edit1.Text :=Parameters.ParamByName('suma').AsString ;
Edit2.Text :=Parameters.ParamByName('sumb').AsString ;
end;
Edit1.Text :=Parameters.ParamByName('@suma').Value;
Edit2.Text :=Parameters.ParamByName('@sumb').Value ;//用参数
proc.fieldbyname('suma').value:=0;
proc.fieldbyname('sumb').value:=0; //先随便赋一个值
proc.execproc;Edit1.Text :=proc.fieldbyname('suma').AsString ;
Edit2.Text :=proc.fieldbyname('sumb').AsString ;
begin
Close;
ProcedureName :='proc_sumsell';
Parameters.Refresh; //最好先更新一下参数
proc.fieldbyname('suma').value:=0;
proc.fieldbyname('sumb').value:=0; //输出参数也一定要先赋个值
ExecProc;
Edit1.Text :=Parameters.ParamByName('suma').AsString ;
Edit2.Text :=Parameters.ParamByName('sumb').AsString ;
end;
@suma float output,
@sumb float output
AS
set @suma=(select sum(销售量) from sell2);
set @sumb=(select sum(纯销售额) from sell2);
if @suma is null set @suma=0.0;
if @sumb is null set @sumb=0.0;
-- return @suma -- this row can drop out
-- return @sumb; -- this row can drop out
GO