问题:
我在oracle环境下,利用pl/sql developer工具写了一个存储过程,在该环境下测试了很多次,每次均正常运行。可是在delphi里用adoproc控件调用时,出现MYProc:Parameter 'v_nian' not found.v_nian是存储过程的变量.我在delphi的里是这样做的,在form里放置一个adoproc控件和一个button,然后在button事件过程里写如下语句:
    .....
    niandu:=edit1.text;
    yuefen:=edit2.text;
    bianhao:=edit3.text;
    with MYproc do
    begin
        Close;
        Parameters.Clear;
        ProcedureName:='proc_name';
        parameters.ParamValues['v_nian']:=niandu;
        parameters.ParamValues['v_yue']:=yuefen;
        parameters.ParamValues['v_bianhao']:=bianhao;
        prepare:=true;
        ExecProc;
    end;
当点击button时,总是提示MYProc:Parameter 'v_nian' not found.v_nian,请问为什么?如何处理?

解决方案 »

  1.   

    求用TADOStoredProc调用oracle存储过程的方法.
    我在delphi里第一次调用能得到正确结果,可是之后总是提示上述错误,请高手帮忙
      

  2.   

    我的思路是这样的:
    oracle存储过程的输入参数接受delphi程序传进来的值,然后,该存储过程将返回的结果集写入一个临时表,最后,delphi程序从该临时表取数并在dbgrid里显示.第一执行delphi程序时,能在dbgrid里显示结果集,第二次执行之后总是提示oracle存储过程的MYProc:Parameter 'v_nian' not found
    MYProc我的存储过程名
    v_nian是存储过程的输入参数
      

  3.   

    你选的哪个驱动.
    一个是microsoft.
    一个是Oracle的.
    我用第一个的时候,能返回数据集.
    用第二个就报错.