2012-07-26 4 views
0

여기에 양식로드 서브 루틴이 있는데 프로그램이 첫 번째 서브 루틴 (즉, LoadProgrammes())을 실행 한 다음 나머지 서브 루틴을 건너 뜁니다. 나머지 "Form Load"가 호출되지 않도록 서브 루틴 LoadProgrammes()에 대해 뭔가가 있습니다.양식로드 중에 서브 루틴이 건너 뜁니다.

ListActiveClasses()도 마찬가지입니다. DisplayGroups() 만 제대로 호출되고 다음 코드 행이 호출됩니다.

글자 그대로 이유는 무엇이며 Google 솔루션을 찾기가 매우 어렵습니다. 도움을받을 수있는 분께 미리 감사드립니다. 내가 본 어떤

Private Sub frmEnroll_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    LoadProgrammes() 
    ListActiveClasses() 
    DisplayGroups() 

End Sub 

Private Sub LoadProgrammes() 
    Dim strLoadSQL As String 
    Dim dsLoad As New DataSet 
    Dim daLoad As OleDb.OleDbDataAdapter 

    Using con As New OleDbConnection(My.Settings.ConnectionPath) 

     strLoadSQL = "SELECT Programme FROM Programmes" 
     daLoad = New OleDb.OleDbDataAdapter(strLoadSQL, con) 
     daLoad.Fill(dsLoad, "LoadProgrammes") 

     'Add items to the combobox 
     For i = 0 To dsLoad.Tables("LoadProgrammes").Rows.Count 
      cmbProgramme.Items.Add(dsLoad.Tables("LoadProgrammes").Rows(i).Item(0)) 
     Next 

    End Using 
End Sub 
+2

코드 디버깅을 시도 했습니까? –

답변

2

, 일부 이벤트 핸들러에서 (어쩌면 당신 Form.Load 처리기 등), 실행 중에 발생하는 모든 예외가 단순히 섭취, 무시 될 것입니다. 대부분 OleDb 코드에서 예외가 발생했을 가능성이 높습니다.

모든 _Load 서브 루틴을 Try...Catch block으로 배치하고 수동으로 예외를 인쇄하거나 Debugger.Break을 호출하는 것이 좋습니다.

코드를 실행 해 보았습니까? 나는 (예외가 삼켜지고 경우 당신이 볼 것입니다 무슨이다.) 당신이 frmEnroll_Load의 시작 부분에 중단 점을 설정하는 것이 좋습니다, 뭔가가 불면 때까지를 단계별로 시작하거나 코드는 계속 것


관련 질문/페이지 :

+0

네가 옳았다는 것은 오류였다. 그러나 하루 종일 내 코드를 디버깅하는 데 보냈다. form.load 처리기가 오류를 무시한다는 것은 나에게는 결코 일어나지 않았으며 여전히 나에게 어떤 의미도주지 않기 때문에 발생하지 않았다. 코드의 모든 줄에 중단 점을 넣었지만 줄을 긋지 않고 혼란에 빠지게되었습니다. –

+0

몇 가지 링크를 추가했습니다. 흥미로울 것입니다. 세 번째 단락에서 소리가 덜 들리도록 편집 :-) –

관련 문제