Le sotto-routine vengono saltate durante il carico del modulo
Domanda
Ho una forma di routine di caricamento della forma qui e il problema è che il programma esegue il primo (vale a dire, LoadProgrammes()
) e quindi salta il resto della subroutine.C'è qualcosa sulla subroutine LoadProgrammes()
che rende il resto del "carico del modulo" non viene chiamato.
Lo stesso vale per ListActiveClasses()
.Solo DisplayGroups()
viene chiamato correttamente e viene chiamata la riga successiva del codice.
Non ho letteralmente idea del perché ed è estremamente difficile trovare una soluzione di Google.Grazie in anticipo per chi può aiutare.
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
. Soluzione
Quello che ho visto, è che in alcuni gestori di eventi (forse come il tuo modulo. Road gestore), qualsiasi eccezione che viene lanciata durante l'esecuzione sarà semplicemente ingerita e ignorata. Molto probabilmente hai qualche eccezione nel tuo codice OLEDB, che lo sta causando saltare la salvataggio.
Consiglierei di avvolgere tutto il tuo _load subroutine con un prova ... Blocco catch e stampare manualmente l'eccezione o chiamare Debugger.break .
Hai provato a fare un passo attraverso il codice? Consiglierei di impostare un punto di interruzione all'inizio del frmEnroll_Load
e iniziare a fare un passo fino a quando qualcosa si abbassa o il codice continua solo (che è ciò che vedresti se l'eccezione si stava inghiottita.)
.
Domande / pagine correlate: