Announcement

Collapse
No announcement yet.

Progress Bar während Datenbankupdate

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Progress Bar während Datenbankupdate

    Hallo zusammen,

    ich muss ein längeres Datenkbankupdate durchführen und möchte den späteren Benutzer auf irgend eine Art und Weise über den Stand der Dinge unterrichten...

    Aber wie?

    Während diese einen Befehls da.Update(ds, tablename) kann ich ja nicht großartig viel machen...

    Hat einer von euch eine Idee? Ich hatte schon mal an einen Thread gedacht, der in der Zeit was anderes macht, aber ich weiss nicht wie ich mit desem dann kommunizieren könnte... eine noch einfachere Idee wäre mir sehr lieb....

  • #2
    Hallo!

    Also soweit ich weiss, musst du das mittels Threading (entweder eigenen Thread erstellen, oder den BackgroundWorker verwenden) loesen.

    Vielleicht schaust du mal unter diesen Punkten in der Hilfe / google nach und ich schau, ob ich ev. irgendwo ein Beispiel habe - einverstanden?
    *-- robert.oh. --*

    Comment


    • #3
      Hi,

      super, das wäre toll...

      schon jetzt mal danke

      Comment


      • #4
        Hi!

        Hier das versprochene Beispiel:
        Code, der die ProgressbarForm im eigenen Thread darstellt:
        Code:
        /// <summary>
        /// eine einfache Form, die ein Progressbar-Control enthaelt
        /// </summary>
        public static void PrintWindow() 
        {
           ProgressbarForm frm = new ProgressbarForm();
           frm.Show();
           frm.StartProgressBar("Operation ist im Gange ...");  // Caption
        }
        Der eigentliche Aufruf der ProgressbarForm und die Erstellung des Threads
        Code:
        System.Threading.Thread thread = 
           new System.Threading.Thread(
           new System.Threading.ThreadStart(Helpers.PrintWindow)); 
           // Helpers.PrintWindow = Code von oberhalb
        thread.IsBackground = true;
        thread.Start();
        try
        {
           // beliebiger Code der ausgefuehrt werden soll
        }
        catch  
        {
           // Operation hat nicht geklappt
        }
        finally
        {
           // Aufraeumen
           if (thread.IsAlive) 
           {
                try { thread.Abort(); }
                catch (System.Threading.ThreadAbortException) { }
           }
           thread = null;
        }
        Muesste (fast) fehlerfrei funken :-)
        Zuletzt editiert von robert.oh.; 25.04.2007, 10:23.
        *-- robert.oh. --*

        Comment

        Working...
        X