spTJRK为一存储过程控件的名字   
       spTJRK.StoredProcName:='P_TJRK_RBB_FJ';
       spTJRK.ParamByName('CFJBH').AsString :=FJBH;
       spTJRK.Prepare;
       spTJRK.ExecProc; 经常会出现找不到参数的错误提示,有时在另外一个地方就没有,这是什么原因呀,我的存储过程是用oracle下写的,存储过程肯定没有什么问题的,即使是一个最简历的也会出现这个问题。希望大家帮助我解决一下,在此不胜感激!

解决方案 »

  1.   

    用query执行也是一样的,bde有时候是有这样的毛病        Qry:=TQuery.Create(nil);
            Qry.DatabaseName:='your_databasename';
            Qry.SQL.Clear;
            Qry.SQL.Add('begin');
            Qry.SQL.Add('fwdb.pdt_WellGasTechData(date'''+dm.rq+''');');
            Qry.SQL.Add('end;');
            Qry.ExecSQL;
      

  2.   

    在使用参数前加上一句
    spTJRK.prepare;
    spTJRK.ParamByName('CFJBH').AsString :=FJBH;
      

  3.   

    这样用是不规范的,不知道什么时候就会出错最好先create TParam的一个对象
      

  4.   

    当你运行时先把过程的ACTIVE置为TRUE再试一下