oracle procedure and webservice

本文介绍了使用PL/SQL过程从Oracle数据库检索特定组件的订单信息,并通过WebService将其暴露给客户端应用程序的过程。其中包括了PL/SQL过程定义、WebService实现及客户端调用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. procedure:
***************************************************************************
Procedure getItemFromComponent
   (
    coNo_in varchar2,
 itemNo_in varchar2,
 coiteminfo_out   OUT      t_refcursor
   )
   is
      coiteminfo1   t_refcursor;
   BEGIN
      OPEN coiteminfo1
       FOR
     select  a.SRCE_TYPE,a.RESERVE_NO,a.CATG_FLG,SHIPTO_NO
  from  tbco_item a
  where a.co_no = coNo_in and a.item_no = itemNo_in;
  
  coiteminfo_out := coiteminfo1;
 END;

如果只返回一个值可以:

procedure upcoshiptogetcurrcontr(
    comp_id_in     IN  tbco_head.COMP_ID%TYPE,
    cc_id_in       IN  tbco_head.CC_ID%TYPE,
    co_no_in       IN  tbco_head.CO_NO%TYPE,
    curr_contr_out OUT tbco_head.CURR_CONTR%TYPE
 )
 IS
  BEGIN
     select tbco_head.CURR_CONTR
    into curr_contr_out
    from tbco_head
   where tbco_head.COMP_ID = comp_id_in
     and tbco_head.CC_ID = cc_id_in
     and tbco_head.CO_NO = co_no_in;
     END upcoshiptogetcurrcontr;

2.webservice: 
************************************************************************ 
[WebMethod]
 public DataSet getItemFromComponent(string coNo_in,string itemNo_in)
 {
  try
  {
   string procedureName = "Pkgcoitem.getItemFromComponent";
   DBForOracle data = new DBForOracle();
   DataSet ds;
   OracleParameter[] prams = {
          data.MakeInParam("coNo_in", OracleDbType.Varchar2, 20,coNo_in ),
          data.MakeInParam("itemNo_in", OracleDbType.Varchar2, 4,itemNo_in ),
          data.MakeOutParam("coItem_out",OracleDbType.RefCursor,0)
  };
   data.RunProc(procedureName, prams,out ds);
   data.Close();
   return ds;
  }
  catch( Exception err )
  {
   throw SoapExceptionHelper.RaiseException( err.Message, "", "RhombusWebService.CO.", "1" );
  }
 }

3.aspx.cs: 
************************************************************************ 
private CustomerOrderWebServices.CustomerOrder COService = new CustomerOrderWebServices.CustomerOrder();
DataSet dsItem = COService.getItemFromComponent(qco.coNo,qco.coItemNo);

*********************************************************

记忆法大全(数百万字文字,共3张音频、视频教学光盘)

http://shop33212326.taobao.com/

*********************************************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值