原創|使用教程|編輯:郝浩|2013-04-27 14:07:40.000|閱讀 238 次
概述:Oracle數據庫允許創建包,可以統一設置存儲進程、函數、變量、用戶自定義類型。dotConnect for Oracle通過實現類型化OraclePackage組件來處理Oracle包。這些組件可以實現像處理一個普通的.NET對象一樣來處理包。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Oracle數據庫允許創建包,可以統一設置存儲進程、函數、變量、用戶自定義類型。dotConnect for Oracle通過實現類型化OraclePackage組件來處理Oracle包。這些組件可以實現像處理一個普通的.NET對象一樣來處理包。
這個導航的使用是建立在知道連接到服務器,以及都建數據庫對象的基礎上實現的。首先需要需要在Oracle數據庫中封裝包,如下所示:
CREATE OR REPLACE PACKAGE Pack AS PROCEDURE get_all_depts (cur OUT SYS_REFCURSOR); PROCEDURE insert_dept (pDeptno INTEGER, pDname VARCHAR, pLoc VARCHAR); FUNCTION dept_count RETURN INTEGER; END PACK; / CREATE OR REPLACE PACKAGE BODY Pack IS PROCEDURE get_all_depts (cur OUT SYS_REFCURSOR) AS BEGIN OPEN cur FOR SELECT * FROM dept; END; PROCEDURE insert_dept (pDeptno INTEGER, pDname VARCHAR, pLoc VARCHAR) AS BEGIN INSERT INTO dept(deptno, dname, loc) VALUES (pDeptno, pDname, pLoc); END; FUNCTION dept_count RETURN INTEGER AS cnt INTEGER; BEGIN SELECT COUNT(*) INTO cnt FROM dept; RETURN cnt; END; END PACK; /
通過類型化的Oracle包向導可以類型化OraclePackage,這個向導可以從VS的主菜單單或是工具箱中啟動。在工具箱中啟動的話,選擇對話窗口中選擇新的類型選項,然后單擊確定:
開啟了導航之后,就可以按照下面的步驟來操作:
1、在你創建了包的服務器上設置連接屬性,單擊下一步。
2、選擇是否在數據庫中顯示所有的包,或者是顯示用戶指定的包。所以會提供單選按鈕和用戶的列表框。
3、設置生成類的名稱,將會放置在命名空間,命名規則也將會放置在這里。
4、選擇添加oraclepackage到設計器復選框,將生成的OraclePackage實例放置到窗體上。
這個導航將會生成用于封裝Oracle包的類,如果你已經選擇了最后的復選框,就會將生成的OraclePackage實例放置到窗體上。包類需要一個開放的連接,在運行向導的時候,如果您已創建一個新的連接,OracleConnection實例oracleConnection1也將會放置在窗體上。
封裝包進程在pack1上也是可行的,就像通常的對象方法一樣。在下面的示例中,就展示了這個過程:
1、獲得DEPT表中的行數。
2、DEPT表中插入一個新的記錄。
3、在表中檢索所有記錄。
[C#]
// Open the connection. Until the connection is opened, // any invocation of package methods will throw an exception. pack1.Connection.Open(); // 1. Check the number of rows in the dept table via the dept_count function: int count = (int)pack1.DeptCount(); // 2. Insert a record via the insert_dept procedure: pack1.InsertDept(100, "Research", "San-Jose"); // 3. Get all records using the get_all_depts procedure, and fill a DataTable with them: OracleCursor cur; // The procedure returns an OracleCursor object, which can be used to retrieve a data reader. pack1.GetAllDepts(out cur); OracleDataReader r = cur.GetDataReader(); // With the data reader, we can populate the data table. OracleDataTable dt = new OracleDataTable(); dt.Load(r);[Visual Basic]
' Open the connection. Until the connection is opened, ' any invocation of package methods will throw an exception. Pack1.Connection.Open() ' 1. Check the number of rows in the dept table via the dept_count function: Dim count As Integer = Pack1.DeptCount() ' 2. Insert a record via the insert_dept procedure: Pack1.InsertDept(100, "Research", "San-Jose") ' 3. Get all records using the get_all_depts procedure, and fill a DataTable with them: Dim cur As OracleCursor ' The procedure returns an OracleCursor object, which can be used to retrieve a data reader. Pack1.GetAllDepts(cur) Dim r As OracleDataReader = cur.GetDataReader() ' With the data reader, we can populate the data table. Dim dt = New OracleDataTable() dt.Load(r)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件