亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

用.NET調用oracle存儲過程返回記錄集

瀏覽:54日期:2023-11-12 19:04:05
Oracle的存儲過程返回記錄集,要害之處是要用游標。 關于數據庫的游標(cursor)大家肯定都接觸不少,我們可以通過OPEN,FETCH,CLOSE操作控制游標進行各種方便的操作,這方面的例子我就不在重復了。我們現在要介紹的是游標變量(cursor variable)。類似游標,游標變量也是指向一個查詢結果集的當前行。不同的是,游標變量能為任何類型相似(type-compatible)的查詢打開,而并不是綁定到某一個特定的查詢。通過游標變量,你可以在數據庫的數據提取中獲得更多的方便。 首先是建立表: CREATE TABLE LIHUAN.BILL_POINTS ( POINTS_ID NUMBER(10,0) NOT NULL, CUSTOMER_ID NUMBER(10,0) NOT NULL, BILL_POINT_NO NUMBER(2,0) DEFAULT 1 NOT NULL, CONSTRAINT PK_BILL_POINTS PRIMARY KEY (POINTS_ID) ) / 其次,建PACKAGE CREATE OR REPLACE PACKAGE LIHUAN.YY_PKG_BILL_POINT_NO/*取得用戶的所有計費電序號*/ IS TYPE T_CURSOR IS REF CURSOR;   PROCEDURE BILL_POINT_NO(P_CUSTOMER_ID BILL_POINTS.CUSTOMER_ID%TYPE,   Re_CURSOR OUT T_CURSOR); END; / 再次,建PACKAGE BODY CREATE OR REPLACE PACKAGE BODY LIHUAN.YY_PKG_BILL_POINT_NO/*取得用戶的所有計費電序號*/ IS PROCEDURE BILL_POINT_NO(P_CUSTOMER_ID BILL_POINTS.CUSTOMER_ID%TYPE,   Re_CURSOR OUT T_CURSOR)   IS   V_CURSOR T_CURSOR;   BEGIN  OPEN V_CURSOR FOR select Bill_Point_No from BILL_POINTS where CUSTOMER_ID =P_CUSTOMER_ID;   Re_CURSOR := V_CURSOR;   END; END; / 最后,在.NET中程序調用。 public DataSet Bill_Point_No(string CUSTOMER_ID)//ok  {   DataSet dataset = new DataSet();   Hashtable HT=new Hashtable();   HT.Add('P_CUSTOMER_ID',CUSTOMER_ID);   if(RunProcedure('Re_CURSOR',OracleType.Cursor,ref dataset,HT,bmsOracleUser+'.YY_PKG_BILL_POINT_NO.BILL_POINT_NO',bmsOracleConnectionString))   { ;   }   else   { dataset=null;   }   return dataset;  } public bool RunProcedure(string ReturnParameter,OracleType ParamType,ref DataSet Dataset,Hashtable HT ,string ProcedureName,string OracleConnection)  {   System.Data.OracleClient.OracleConnection dsconnection = new System.Data.OracleClient.OracleConnection(OracleConnection);   System.Data.OracleClient.OracleCommand dacommand = new System.Data.OracleClient.OracleCommand(ProcedureName,dsconnection);   dsconnection.Open();   dacommand.CommandType=CommandType.StoredProcedure;   IDictionaryEnumerator Enumerator;   Enumerator = HT.GetEnumerator();   object Value=null;   OracleParameter OracleParam;   OracleParam = dacommand.Parameters.Add(new OracleParameter(ReturnParameter,ParamType));   OracleParam.Direction = ParameterDirection.Output;   while(Enumerator.MoveNext())   { Value = Enumerator.Value; OracleParam=dacommand.Parameters.Add(new OracleParameter(Enumerator.Key.ToString(), Value));   }   OracleDataAdapter ODAdapter=new OracleDataAdapter(dacommand); try   { ODAdapter.Fill(Dataset); return true;   }   catch(System.Exception e)   { e.ToString(); return false;   }   finally   { HT.Clear(); dacommand.Parameters.Clear(); dsconnection.Close();   } }
標簽: Oracle 數據庫
主站蜘蛛池模板: 欧美日韩一区二区不卡三区 | 国产婷婷综合在线精品尤物 | 小明免费视频一区二区 | 久久精品国产久精国产80cm | 91久久99| 男女全黄做爰视频免费看 | a级无毛片 | 久久不雅视频 | 成人性视频免费网站 | 欧洲亚洲欧美国产日本高清 | 日本亚洲精品无码专区 | 农村女人的一级毛片 | 亚洲国产99999在线精品一区 | 亚洲 另类色区 欧美日韩 | 怡红院日本一道日本久久 | 国产日韩精品欧美一区喷 | 国产女人的一级毛片视频 | 全部免费特黄特色大片视频 | 韩国美女激情视频一区二区 | 成人国产精品一级毛片天堂 | 涩色涩 | 久久午夜综合久久 | 午夜激情在线 | 成人综合色站 | 五月婷婷色综合 | 免费黄在线观看 | 国内精品视频成人一区二区 | 亚洲在线观看 | 久久综合久久综合久久 | 免费日韩在线观看 | 清纯唯美综合网 | 久久精品国产99精品国产2021 | 伊人精品视频 | 麻豆久久 | 色视频在线观看网站 | 九九免费观看全部免费视频 | 国产精品中文字幕在线观看 | 日本黄色一级毛片 | 国产乱人视频免费观看 | 亚洲精品乱码国产精品乱码 | 国产片欧美片亚洲片久久综合 |