先看一段程序:
Public Function excToArr(ByVal sql As String, ByVal ar As ArrayList) As ArrayList
Dim OracleDBSession As OracleInProcServer.OraSession
Dim OraDatabase As OracleInProcServer.OraDatabase
Dim dataDynaset As OracleInProcServer.OraDynaset
Dim iColCount As Integer
Dim strSERVER As String = "****" '連接的數據庫服務名
Dim strUSERNAME As String = "****" '用戶名
Dim strPASSWORD As String = "****" '密碼
Dim ar1 As ArrayList
OracleDBSession = CType(CreateObject("OracleInProcServer.XOraSession"), OracleInProcServer.OraSession)
OraDatabase = CType(OracleDBSession.OpenDatabase(strSERVER, strUSERNAME & "/" & strPASSWORD, 0), OracleInProcServer.OraDatabase)
dataDynaset = CType(OraDatabase.CreateDynaset(sql, &H0&), OracleInProcServer.OraDynaset)
iColCount = CType(dataDynaset.Fields, OracleInProcServer.OraFields).Count - 1
Dim oraField As OracleInProcServer.OraField
Dim oraFields As OracleInProcServer.OraFields
Do While Not dataDynaset.EOF
ar1 = New ArrayList
For iColNumber As Integer = 0 To iColCount
oraFields = CType(dataDynaset.Fields, OracleInProcServer.OraFields)
oraField = CType(oraFields(iColNumber), OracleInProcServer.OraField)
ar1.Add(oraField.Value)
Next
dataDynaset.MoveNext()
ar.Add(ar1)
Loop
Return ar
End Function
OraSession对象 通常被使用在应用程序中,管理OraDatabase、Oraconnection、 OraDynaset对象。 Set OraSession=createobject("OracleInProcServer.XOraSession")
OraDatabase对象 OraDatabase对象表示对数据库服务器一个虚拟的登入。 Set OraDatabase=OraSession.DbopenDatabase("数据库别名","用户名/密码",0)
OraDynaset对象 OraDynaset对象允许用户浏览或更新由 SQL SELECT所返回的数据。OraDynaset 必须属于唯一的OraDatabase对象,因此如果建立一个OraDynaset对象可以使用Oradatabase 的DbCreateDynaset或CreateDynaset,两种结果一样。
OraField对象 OraField对象是表示在OraDynaset对象中的某一行(row)中的一个字段(column)或者数据项目(data item), 另一个角度,OraField对象间接从OraDynaset对象的OraFields的数据集合取得其中一个字段的数据,其数据类型通常为万 能变量(Variant) 设置 OraFields.value=值 付值 变量名称=Orafields.value 其Fields集合表示如下: Orafields("名称").value Orafields(i).value