DELPHI6的ADO连接ORACLE ADOStoredProc的parameters为什么不返回参数的,我下面的存储过程应该返回参数p_id和p_name才对呀,我的存储过程如下:
CREATE OR REPLACE PROCEDURE ufanyi_TEST (
  p_id IN  varchar2,
  p_name in VARCHAR2,
  
   p_msg             OUT      VARCHAR2,
   m_casenum         IN       VARCHAR2,                      
   m_grant_unit      IN       VARCHAR2                    
) AS 
BEGIN declare 
   
    bill_no varchar2(20);
    b_acc_code varchar2(50);
    sequ    varchar2(20);
    pay_sum number(18,2);
  cursor fmd is 
               select bill_no,b_acc_code,sequ,pay_sum from cp_dpb_detail where bill_no=p_id or b_acc_code=p_name;
  begin
       open fmd;
       FETCH fmd into bill_no,b_acc_code,sequ,pay_sum;
       while fmd%found
        loop
           
              insert into uf_fmd(bill_no,b_acc_code,sequ,pay_sum)values(bill_no,b_acc_code,sequ,pay_sum);
          
          FETCH fmd into bill_no,b_acc_code,sequ,pay_sum;   
      end loop;
      close fmd;
        end;
END ufanyi_TEST;

解决方案 »

  1.   

    我的microsoft ole db provider for oracle连不上,提示连接错误,因为初始化提供程序时发生错误
      

  2.   

    1、不得不说,你这个存储过程序写得太烂了,错误多得多!!!!!!
    2、基本概念还全不明白!!!!p_msg             OUT      VARCHAR2,这个才是要返回的值!!
    3、 declare 
       
        bill_no varchar2(20);
        b_acc_code varchar2(50);
        sequ    varchar2(20);
        pay_sum number(18,2);
      cursor fmd is 
                   select bill_no,b_acc_code,sequ,pay_sum from cp_dpb_detail where bill_no=p_id or b_acc_code=p_name;
      begin
           open fmd;
           FETCH fmd into bill_no,b_acc_code,sequ,pay_sum;
           while fmd%found
            loop
               
                  insert into uf_fmd(bill_no,b_acc_code,sequ,pay_sum)values(bill_no,b_acc_code,sequ,pay_sum);
              
              FETCH fmd into bill_no,b_acc_code,sequ,pay_sum;   
          end loop;
          close fmd;
            end;这是什么屁代码???完全不对!!
    4、
    我的microsoft ole db provider for oracle连不上,提示连接错误,因为初始化提供程序时发生错误
     这已经说明了,你根本就还没有连接上数据库,怎么返什么参数??
    5、建议:先拿一本入门书,看一天再写代码!
    6、回答完毕!
      

  3.   

    我刚学ORACLE,
    我的microsoft ole db provider for oracle连不上,提示连接错误,因为初始化提供程序时发生错误
    另一个连接方法是可以的,已经是测试成功了