Fortschrittsanzeige bei lang dauernden Aufgaben anzeigen?

20/08/2009 - 13:23 von Stefan Reinmers | Report spam
Hallo, ich möchte gerne aus einer Datenbanktabelle Datensàtze exportieren.
Das können mal 700000 oder 1 Million oder mehr Datensàtze sein.
Ich habe jetzt 2 Probleme. Wie ermittel ich wie lange die Aufgabe dauert,
damit ich einen entsprechenden Fortschrittsbalken anzeigen kann.
Und wie zeige ich auf der aktuellen Form den Fortschrittsbalken an, damit er
auch mit den aktuellen Fortschritt anzeigt.
Die Daten werden aus einer SQL Server Datenbank ausgelesen und mittels einer
Schleife als CSV exportiert(Die Daten werden wàhrende des Exports in der
einer Schleife noch entsprechend aufbereitet)
 

Lesen sie die antworten

#1 Peter Fleischer
20/08/2009 - 13:40 | Warnen spam
"Stefan Reinmers" schrieb im Newsbeitrag
news:
Hallo, ich möchte gerne aus einer Datenbanktabelle Datensàtze exportieren.
Das können mal 700000 oder 1 Million oder mehr Datensàtze sein.
Ich habe jetzt 2 Probleme. Wie ermittel ich wie lange die Aufgabe dauert,
damit ich einen entsprechenden Fortschrittsbalken anzeigen kann.
Und wie zeige ich auf der aktuellen Form den Fortschrittsbalken an, damit
er auch mit den aktuellen Fortschritt anzeigt.
Die Daten werden aus einer SQL Server Datenbank ausgelesen und mittels
einer Schleife als CSV exportiert(Die Daten werden wàhrende des Exports in
der einer Schleife noch entsprechend aufbereitet)



Hi Stefan,
ermittle zuerst mit einer "Select Count"-Abfrage, wie viele Datensàtze zu
bearbeiten sind, teile die Zahl durch 100. Diese ermittelte Zahl nutzt du im
Schleifendurchlauf für die Zeitmessung. Aus der gemessenen Zeit
extrapolierst du auf die Gesamtzeit, die dann für die Berechnung des
proportionalen Fortschritts genutzt wird. Um zu verhindern, dass der
Fortschrittsbalken rückwàrts làuft, sollte man den neuen Fortschrittswert
nur zuweisen, wenn er gößer als der aktuelle Wert ist.

Viele Grüsse
Peter

Ähnliche fragen