リスト3 oo4oの場合のデータベースへの接続

Private Sub CommandButton1_Click()

On Error GoTo Err_Han
    
    If OraDB Is Nothing Then
        Call Conn
    End If
    
    If OraDB.ConnectionOK = False Then
        Call Conn
    End If
    
    ' データ取得メイン処理を呼び出す
    getProductInfo

    Exit Sub
    
Err_Han:
    ' エラー処理
    MsgBox (Err.Description)

End Sub

Private OraSess As OraSession
Private OraDB As OraDatabase 

' データベース接続処理
Private Sub Conn()

    Set OraSess = CreateObject("OracleInProcServer.XOraSession")
    Set OraDB = OraSess.OpenDatabase("orcl", "scott" & "/" & "tiger", 0&)

End Sub

'データ取得メイン処理
Private Sub getProductInfo()
    
    ' 変数定義
    Dim oraDS As OraDynaset      ' レコードセット(商品情報)
    
    ' データ取得処理
    Set oraDS = selectProducts()
    
    ' データが取得されなかったら何もしない
    If oraDS Is Nothing Then
        Exit Sub
    End If
    
    ' 商品情報データをシートに格納する
    Call setDataView(oraDS, theSheet.Cells(4, 2))
  
    ' レコードセットクローズ
    oraDS.Close

End Sub

'データ取得処理
Private Function selectProducts() As OraDynaset

    Dim strSql As String
 
        Dim strSql As String
 
    strSql = " select ""商品ID"",""商品名"",""分類名"", " & _
             "        ""内容量"",""内容量単位"",""原材料""," & _
             "        ""保存方法"",""賞味期限"",""価格"" " & _
             "   from ""商品情報"",""商品分類"" " & _
             "  where ""商品情報"".""分類ID"" = ""商品分類"".""分類ID""
    
    Set selectProducts = OraDB.CreateDynaset(strSql, 0&)
    
End Function