存储过存:
CREATE PROCEDURE JinChen1
  @Firstdate datetime,
  @Lastdate datetime
    
 AS 
  begin tran
  
  delete from JinChenReport
-----------------
 
SELECT DISTINCT a.G_Code, a.G_Class,a.G_Name,a.G_Num,a.G_Amount,
        (SELECT SUM(b.J_Num)
         FROM JinKuDetail b 
         WHERE a.G_Code = b.J_GoodsCode and b.J_Time>=@Firstdate and b.J_Time<=@Lastdate
         GROUP BY b.J_GoodsCode)a1,
         (select sum(b.J_Amount) from JinKuDetail b where a.G_Code=b.J_GoodsCode and b.J_Time>=@Firstdate and b.J_Time<=@Lastdate  GROUP BY b.J_GoodsCode) a11        
FROM goods a LEFT JOIN
      JinKuDetail b ON a.G_Code = b.J_GoodsCode 
       
commit tran
在中DELPHI中调用:
 with ADOStoredProc1 do
   begin
     close;
     ProcedureName:='JinChen1';
     Parameters.Clear;
     Parameters.ParamByName('@Firstdate').Value:=DateTimePicker1.DateTime;
     Parameters.ParamByName('@lastdate').Value:=DateTimePicker2.DateTime;
     Prepared:=true;
     open;
   end;当调用存储过程时,老是报错:'参数@Firstdate没有找到:'(注:存储过程在Query Analyzer中运行是成功的)
请大家帮忙啊!!!!!

解决方案 »

  1.   

    在object inspector中属性parameters导入两个参数然后执行
      

  2.   

    with ADOStoredProc1 do
       begin
         close;
         ProcedureName:='JinChen1';
         Parameters.Clear;
         whith Parameters.AddParameter do
         begin
           DataType := ..;
           name := '@Firstdate'';
         end;  
         whith Parameters.AddParameter do
         begin
           DataType := ..;
           name := '@lastdate';
         end;
         Parameters.ParamByName('@Firstdate').Value:=DateTimePicker1.DateTime;
         Parameters.ParamByName('@lastdate').Value:=DateTimePicker2.DateTime;
         Prepared:=true;
         open;
       end;
      

  3.   

    那你就在Open之前
    ADOStoredProc1.Parameters.CreateParameter()试试啊
      

  4.   

    TO huojiehai(海天子):
    我用你的方法试过啊,错误没有了,但还报错:‘没有执行可选特性’:这不知是什么??
      

  5.   

    DataType := ..;设置为你真正的类型
    name := '@Firstdate'';
    改为
    name := 'Firstdate';name := '@lastdate';
    改为
    name := 'lastdate';
    好久没用这个控件了,很多属性都记不得了,你再试试吧
      

  6.   

    我是这样设的:dataType:=ftDateTime; 
    但不知为什么会出现这样的错误!
      

  7.   

    问题解决了,我在存储过程中把@Firstdate,@Lastdate设为:Varchar(12),设成datetime类型就会报错!多谢!!!!