[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/07/16(Sun) 13:36
投稿者名:社会人ルーキー
Eメール:
URL :
タイトル:
VB6+Oracle10g ADO接続について
はじめまして
社会人ルーキーです。

どうしても解決できない問題があり投稿させて頂きました。

VB6(SP5) ADO2.8
Windows XP(SP2)
Oracle10g

画面上に配置してあるグリッドにデータを表示した
状態で画面を閉じるとアプリケーションエラーが発生します。
いろいろ調べてみると、データを取得せず(DBに接続しない)、画面を表示し
画面を閉じるとアプリケーションエラーが発生しません。
DB切断処理も走っています。。。。
何が原因でアプリケーションエラーが発生しているのかがわからず苦慮しております。
どなたか心あたりある方ご教授いただけませんでしょうか?
以下は処理概要になります。

Public Function fncGetKanriIchiran(aryDat() As Variant) As Boolean
    On Error GoTo Err_Proc
    
    Dim lobjCon
    Dim lobjRs As ADODB.Recordset   'ADODB.Recordset
    Dim lobjRs2 As ADODB.Recordset
    Dim lsSql As String             'SQL文生成用
    Dim laryBuf() As Variant
    Dim lnCnt As Integer
    
    fncGetKanriIchiran = False
    
    Set lobjCon = CreateObject("ADODB.Connection")
    lobjCon.Open gsOraConnect
    lsSql = ""

  (中略)

    Set lobjRs = lobjCon.Execute(lsSql)
    
    If lobjRs.EOF = False And lobjRs.BOF = False Then
        lobjRs.MoveFirst
        laryBuf = lobjRs.GetRows()
        Call subNullToStr(laryBuf)
        ReDim aryDat(8, UBound(laryBuf, 2))
        For lnCnt = 0 To UBound(laryBuf, 2)
   
    (中略)
          
            Set lobjRs2 = lobjCon.Execute(lsSql)
            If lobjRs2.EOF = False And lobjRs2.BOF = False Then
                aryDat(2, lnCnt) = RTrim(lobjRs2.Fields("A").Value)
            End If
            aryDat(0, lnCnt) = laryBuf(0, lnCnt)    
            aryDat(1, lnCnt) = laryBuf(1, lnCnt)    
            aryDat(3, lnCnt) = laryBuf(2, lnCnt)    
            aryDat(4, lnCnt) = laryBuf(3, lnCnt)    
            aryDat(5, lnCnt) = laryBuf(4, lnCnt)    
            aryDat(6, lnCnt) = laryBuf(5, lnCnt)    
            aryDat(7, lnCnt) = laryBuf(6, lnCnt)    
        Next
        lobjRs2.Close
        Set lobjRs2 = Nothing
        fncGetKanriIchiran = True
    End If
    
    'DB切断
    lobjRs.Close
    lobjCon.Close
    Set lobjRs = Nothing
    Set lobjCon = Nothing
    
    
    Exit Function
Err_Proc:
    MsgBox ERR_MSG, vbCritical
Debug.Print Err.Description
    End
End Function

投稿時間:2006/07/16(Sun) 14:42
投稿者名:KG
Eメール:
URL :
タイトル:
Re: VB6+Oracle10g ADO接続について
> 画面上に配置してあるグリッドにデータを表示した
> 状態で画面を閉じるとアプリケーションエラーが発生します。
どんなエラーなのでしょう。

> 何が原因でアプリケーションエラーが発生しているのかがわからず苦慮しております。
状況を再現し、ステップインで実行しながらエラーが発生している箇所を特定する必要
があるかと思います。