在delphi中怎样调用 oracle数据库中的存取过程?
各位大虾,给个具体的例子啊(带参数的)。

解决方案 »

  1.   

    ConfirmSP.Close;
      ConfirmSP.Procedurename := 'USP_UPSTOCKEXPORT';//存储过程名称
      ConfirmSP.Parameters.ParamByName('LNO').Value := HeadQuery.FieldByName('LISTNO').AsString; //参数1
      ConfirmSP.Parameters.ParamByName('OPERATER').Value := DataModule1.UserCode;//参数2
      try
        if not  DataModule1.ADOConnection1.InTransaction then
          DataModule1.ADOConnection1.BeginTrans;
        ConfirmSP.ExecProc; //执行过程
        HeadQuery.Edit;
        HeadQuery.FieldByName('BILLSTATUS').AsString := '9';
        HeadQuery.Post;
        DataModule1.ADOConnection1.CommitTrans; //提交事务
        ShowMessage('单据编号为:'+Edit3.Text+'信息确认成功!');
      Except
        if DataModule1.ADOConnection1.InTransaction then
          DataModule1.ADOConnection1.RollbackTrans; //出错,回滚事务
        Exception.Create('单据确认错误,操作被取消!');
      end;
      

  2.   

    ConfirmSP.Close;
      ConfirmSP.Procedurename := 'USP_UPSTOCKEXPORT';//存储过程名称
      ConfirmSP.Parameters.ParamByName('LNO').Value := HeadQuery.FieldByName('LISTNO').AsString; //参数1
      ConfirmSP.Parameters.ParamByName('OPERATER').Value := DataModule1.UserCode;//参数2
      try
        if not  DataModule1.ADOConnection1.InTransaction then
          DataModule1.ADOConnection1.BeginTrans;
        ConfirmSP.ExecProc; //执行过程
        HeadQuery.Edit;
        HeadQuery.FieldByName('BILLSTATUS').AsString := '9';
        HeadQuery.Post;
        DataModule1.ADOConnection1.CommitTrans; //提交事务
        ShowMessage('单据编号为:'+Edit3.Text+'信息确认成功!');
      Except
        if DataModule1.ADOConnection1.InTransaction then
          DataModule1.ADOConnection1.RollbackTrans; //出错,回滚事务
        Exception.Create('单据确认错误,操作被取消!');
      end;