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/
*********************************************************