原創|使用教程|編輯:郝浩|2013-05-07 11:00:53.000|閱讀 269 次
概述:dotConnect for Oracle提供了數組和嵌套表的兩種方式:一是填充數據集,在這種情況下,陣列的數據將被存儲在單個表中的數據集,將會對表設置一個關聯,關聯著來自用陣列行的基本選擇的一個組。二是得到OracleArray類型的一個對象,并通過索引屬性訪問項目。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
dotConnect for Oracle提供了數組和嵌套表的兩種方式:
If such types are created: CREATE TYPE TArray1 AS VARRAY (5) OF NUMBER; CREATE TYPE TArray2 AS VARRAY (4) OF CHAR(10); CREATE TABLE ArrayTable ( Code NUMBER, Title VARCHAR2(10), Arr1 TArray1, Arr2 TArray2 );
在數據集上將會有3個表:ArrayTable、 ArrayTableArr1、ArrayTableArr2。但是用這種方法有一個限制,你不能通過DataAdapter更新方法發布更新的數據到服務器。
還有一種方法訪問來自數組的數據和嵌套表,就是使用OracleArray 和 OracleTable類。比如對于OracleArray類你可以用下面的代碼:
[C#]
OracleArray oraArray = dataReader.GetOracleArray(i); foreach (object obj in oraArray) { lbResult.Items.Add(obj.ToString()); }
[Visual Basic]
dim oraArray as OracleArray = dataReader.GetOracleArray(i); dim obj as object for each obj in oraArray lbResult.Items.Add(obj.ToString()) next
對于SQL 和PL/SQL語句的參數可以使用VARRAY類型,示例如下:
[C#]
OracleCommand cmd = oracleConnection1.CreateCommand(); cmd.CommandText = "INSERT INTO ArrayTable (CODE, ARR1) VALUES (1, :ARR1)"; cmd.Parameters.Add(new OracleParameter("ARR1", OracleDbType.Array)); OracleArray arr1 = new OracleArray("SCOTT.TARRAY1", oracleConnection1); arr1.Add(10); arr1.Add(20); arr1.Add(30); cmd.Parameters["ARR1"].Value = arr1; cmd.ExecuteNonQuery();
[Visual Basic]
dim cmd as OracleCommand = OracleConnection1.CreateCommand() cmd.CommandText = "INSERT INTO ArrayTable (CODE, ARR1) VALUES (1, :ARR1)" cmd.Parameters.Add(New OracleParameter("ARR1", OracleDbType.Array)) dim arr1 as OracleArray = new OracleArray("SCOTT.TARRAY1", OracleConnection1) arr1.Add(10) arr1.Add(20) arr1.Add(30)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件