原創(chuàng)|使用教程|編輯:郝浩|2013-05-07 11:00:53.000|閱讀 269 次
概述:dotConnect for Oracle提供了數(shù)組和嵌套表的兩種方式:一是填充數(shù)據(jù)集,在這種情況下,陣列的數(shù)據(jù)將被存儲(chǔ)在單個(gè)表中的數(shù)據(jù)集,將會(huì)對(duì)表設(shè)置一個(gè)關(guān)聯(lián),關(guān)聯(lián)著來自用陣列行的基本選擇的一個(gè)組。二是得到OracleArray類型的一個(gè)對(duì)象,并通過索引屬性訪問項(xiàng)目。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
dotConnect for Oracle提供了數(shù)組和嵌套表的兩種方式:
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 );
在數(shù)據(jù)集上將會(huì)有3個(gè)表:ArrayTable、 ArrayTableArr1、ArrayTableArr2。但是用這種方法有一個(gè)限制,你不能通過DataAdapter更新方法發(fā)布更新的數(shù)據(jù)到服務(wù)器。
還有一種方法訪問來自數(shù)組的數(shù)據(jù)和嵌套表,就是使用OracleArray 和 OracleTable類。比如對(duì)于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
對(duì)于SQL 和PL/SQL語句的參數(shù)可以使用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)
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件