Index: TAOR-rework-bugfixing/TAOR rework/databases/Cache/CacheMapper.vb =================================================================== diff -u -r1611 -r1614 --- TAOR-rework-bugfixing/TAOR rework/databases/Cache/CacheMapper.vb (.../CacheMapper.vb) (revision 1611) +++ TAOR-rework-bugfixing/TAOR rework/databases/Cache/CacheMapper.vb (.../CacheMapper.vb) (revision 1614) @@ -73,6 +73,9 @@ data.Add(dr.GetValue(0).ToString) End While + 'Connectie met data reader sluiten. + dr.Close() + 'De lijst retourneren. Return data Catch ex As Exception @@ -218,15 +221,21 @@ ''' ''' De barcode ''' De datareader - Public Function GetDetails(barcode As String) As OdbcDataReader - LogBestandTextMapper.writeToFile("Caché", $"Opvragen van OdbcDataReader met details, van barcode: {barcode}") + Public Function GetDetails(barcode As String) As DataTable + LogBestandTextMapper.writeToFile("Caché", $"Opvragen van data table met details, van barcode: {barcode}") Dim query As String = $"select BatchID, ToeleveringID, Klant.naam, log.dossiercode, Kar, log.VerwerkingID, machineID, Onderdeel, tijdstipProductie as TijdstipProductie, StapNummer as Productiestap, Case when IsRework=1 THEN 'TRUE' END as rework from APPS_Halux_Opvolging_ProductieStap_TAOR_dto.ProductieStapLogItem log join derde_klant.klant on klant.ID=$Piece(log.PartijID,'||',2) where verwerkingID = '{barcode}' order by StapNummer" Try - 'Uitvoeren van query en datareader retourneren. + 'Uitvoeren van query en datareader bijhouden. Dim dr = ExecuteIntoDataReader(query) - LogBestandTextMapper.writeToFile("Caché", $"Opvragen van OdbcDataReader met details, van barcode: {barcode}", True) - Return dr + 'DataTable initialiseren en vullen met resultaat van de datareader. + Dim datatable = New DataTable() + datatable.Load(dr) + 'Connectie van datareader sluiten. + dr.Close() + LogBestandTextMapper.writeToFile("Caché", $"Opvragen van data table met details, van barcode: {barcode}", True) + 'Retourneren van de datatable. + Return datatable Catch ex As Exception Throw New Exception($"Fout bij opvragen van OdbcDataReader met details, van barcode: '{barcode}'{vbNewLine}{ex.Message}") End Try @@ -259,7 +268,7 @@ datatable.Load(dataReader) 'Connectie van datareader sluiten. dataReader.Close() - 'Retourneren van de datatable + 'Retourneren van de datatable. Return datatable End Function @@ -350,9 +359,13 @@ rework.TijdstipProductie = If(IsDBNull(dr.Item("TijdstipProductie")), Nothing, CStr(dr.Item("TijdstipProductie"))) rework.ToeleveringID = If(IsDBNull(dr.Item("ToeleveringID")), Nothing, CStr(dr.Item("ToeleveringID"))) Else + 'Connectie van datareader sluiten. + dr.Close() 'Er is geen resultaat gevonden. Throw New Exception($"Er is geen record in Caché gevonden voor barcode '{barcode}' om een rework te updaten") End If + 'Connectie van datareader sluiten. + dr.Close() Catch ex As Exception Throw New Exception($"Er is een fout opgetreden bij het updaten van een rework met data uit database Caché {vbNewLine}{ex.Message}") End Try @@ -439,9 +452,13 @@ maxteller = CInt(dr.Item("MaxTeller")) minTeller = CInt(dr.Item("MinTeller")) Else + 'Connectie van datareader sluiten. + dr.Close() 'Geen data gevonden. Throw New Exception("Er werden geen resultaten gevonden bij het opvragen van de tellers uit Caché.") End If + 'Connectie van datareader sluiten. + dr.Close() Catch ex As Exception Throw New Exception($"Er is een fout opgetreden bij het opvragen van de tellers voor een test lade barcode nummer uit Caché.{vbNewLine}{ex.Message}") End Try @@ -482,6 +499,8 @@ 'Teller uitlezen. dr.Read() teller = dr.Item("Teller") + 'Connectie van datareader sluiten. + dr.Close() Catch ex As Exception Throw New Exception($"Er is een fout opgetreden bij het opvragen van de nieuwe teller voor test lade uit Caché {vbNewLine}{ex.Message}") End Try @@ -538,7 +557,7 @@ 'Connecteren met Caché. ConnectToCache() 'Query uitvoeren. - dim teller = addCommand.ExecuteNonQuery() + Dim teller = addCommand.ExecuteNonQuery() Catch ex As Exception Throw New Exception($"Er is een fout opgetreden bij het opslaan van de gegenereerde onderdelen in de caché databank {vbNewLine}{ex.Message}")