Edit by ErfinderDesRades: (Thema verschoben) Bitte richtiges UnterForum wählen!
Hallo zusammen,
ich habe mal wieder ein Problem. Folgende Schleife müllt mir nach und nach den Arbeitsspeicher zu und ich kann nicht erkennen wo. Nachdem das Programm dann ca 600000 Datensätze durchgeackert hat bekomme ich dann eine Out of Memory Ausnahme (klar irgendwann ist der Speicher voll)
Hier die Schleife:
Was ich an der Geschichte nicht so ganz raffe ist, dass ich kein neues Objekt oder eine Instanz eines neuen Objekts erstelle sondern nur bestehende Objekte neu befülle. Also warum wächst der Speicher so an?
Ich hoffe jemand von euch hat eine Idee
Hallo zusammen,
ich habe mal wieder ein Problem. Folgende Schleife müllt mir nach und nach den Arbeitsspeicher zu und ich kann nicht erkennen wo. Nachdem das Programm dann ca 600000 Datensätze durchgeackert hat bekomme ich dann eine Out of Memory Ausnahme (klar irgendwann ist der Speicher voll)
Hier die Schleife:
VB.NET-Quellcode
- Do
- 'Prüfen ob datensatz bereits existiert
- cmd.CommandText = "SELECT Count(*) FROM palletdata Where RecordNo = '" & DataGridView1.Rows(i).Cells(0).Value _
- & "' AND Time ='" & DataGridView1.Rows(i).Cells(1).Value & "'"
- cmd.Connection = conn
- Anzahl = cmd.ExecuteScalar
- 'Wenn Datensatz nicht existiert soll er in die Datenbank geschrieben werden
- If Anzahl = 0 Then
- cmd.CommandText = "INSERT INTO `bocsv8-1`.`palletdata` (`RecordNo`, `Time`, `JobID`, `StationNo`, `PalletNo`, `DeltaQuantityPos`, `DeltaQuantityNeg`, `WorkStep`, `ErrorCodePart1`, `ErrorCodePart2`, `ErrorCodePart3`, `LogisticsCode`, `LogisticsStatus`, `PartStatus1`, `PartStatus2`, `PartStatus3`, `PartStatus4`, `PartNumber`)" _
- & " VALUES (" _
- & "'" & DataGridView1.Rows(i).Cells(0).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(1).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(2).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(3).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(4).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(5).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(6).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(7).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(8).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(9).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(10).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(11).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(12).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(13).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(14).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(15).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(16).Value & "'," _
- & "'" & DataGridView1.Rows(i).Cells(17).Value & "')"
- cmd.ExecuteNonQuery()
- letzter = DataGridView1.Rows(i).Cells(0).Value
- End If
- ProgressBar1.Value = i
- Label1.Text = i & " / " & DataGridView1.Rows.Count
- i = i + 1
- 'Application.DoEvents()
- Loop Until i = DataGridView1.Rows.Count
Was ich an der Geschichte nicht so ganz raffe ist, dass ich kein neues Objekt oder eine Instanz eines neuen Objekts erstelle sondern nur bestehende Objekte neu befülle. Also warum wächst der Speicher so an?
Ich hoffe jemand von euch hat eine Idee
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()