Ik heb dit moment een applicatie welke is gekoppeld aan een database.
Voor een bepaald scherm moet ik 30000 record in één keer ophalen en dit werkt op zich prima op de volgende manier:
Dit staat achter de form load. De datagridview is gekoppeld aan dsRelatie.
Er wordt dus gewoon (simpel) een datasource gevuld en weergegeven in een datagridview.
Dit gaat dus goed, echter het probleem is dat er direct +- 100 MB aan geheugen gebruikt wordt. Dit zou op zich niet zo erg zijn als dit alleen bij het laden zou gebeuren, maar dit geheugen wordt 'vast' gehouden. Soms moet dit scherm meerdere keren worden opgestart en zo loop het geheugen dus snel op.
Ik heb het al geprobeerd met direct een clear te doen van de datasource na het laden van het form, maar dan is de datagridview (uiteraard) ook leeg. Ik kan wel een clear doen bij de formclosing maar dan wordt nog niet altijd het geheugen direct leeggemaak. Dit is dus eigenlijk ook geen oplossing, omdat het scherm dus soms meerdere keren tegelijk gestart wordt (dus is er ook geen formclose). Weet iemand hoe ik hier mee om kan gaan? Ik heb al heel wat gezocht en uitgeprobeerd (oa met de carbage collection (Gc.collect)), maar ik kom er niet uit hoe ik dit kan oplossen. Ben hier al heel wat tijd aan kwijt geweest, maar misschien kan iemand mij hier (op de goede weg) helpen.
Voor een bepaald scherm moet ik 30000 record in één keer ophalen en dit werkt op zich prima op de volgende manier:
code:
1
| Me.RelatieTableAdapter.Fill(Me.dsRelatie.Relatie) |
Dit staat achter de form load. De datagridview is gekoppeld aan dsRelatie.
Er wordt dus gewoon (simpel) een datasource gevuld en weergegeven in een datagridview.
Dit gaat dus goed, echter het probleem is dat er direct +- 100 MB aan geheugen gebruikt wordt. Dit zou op zich niet zo erg zijn als dit alleen bij het laden zou gebeuren, maar dit geheugen wordt 'vast' gehouden. Soms moet dit scherm meerdere keren worden opgestart en zo loop het geheugen dus snel op.
Ik heb het al geprobeerd met direct een clear te doen van de datasource na het laden van het form, maar dan is de datagridview (uiteraard) ook leeg. Ik kan wel een clear doen bij de formclosing maar dan wordt nog niet altijd het geheugen direct leeggemaak. Dit is dus eigenlijk ook geen oplossing, omdat het scherm dus soms meerdere keren tegelijk gestart wordt (dus is er ook geen formclose). Weet iemand hoe ik hier mee om kan gaan? Ik heb al heel wat gezocht en uitgeprobeerd (oa met de carbage collection (Gc.collect)), maar ik kom er niet uit hoe ik dit kan oplossen. Ben hier al heel wat tijd aan kwijt geweest, maar misschien kan iemand mij hier (op de goede weg) helpen.