statusStrip ProgressBar podczas update na bazie

0

na początek chciałbym wszystkich serdecznie przywitać i życzyć Polsce gola :)

1szy raz zasiadłem do VS i jestem pod wrażeniem. Mam do wykonania zapytanie ( UPDATE ) do bazy MSSQL. W 15 min ogranąłem wszystko co chciałem ( no prawie ). Dodałem sobie statusstrip a w wnim ProgressBar. Mój update ( w zależności od parametrów ) wykonuję się od 2s do powiedzmy 60s. Chciałbym aby aplikacja nie "zamierała" bez info o tym co się dzieje.

takie cos zapakowałem w metodę

  1. łączę się z bazą
  2. konstruuje zapytanie
  3. dodaje parametry, waliduje

i potem używam tego tak

        private void button1_Click(object sender, EventArgs e)
        {
            updateAction();
        }

jak wkręcić w tą akcję statusstripprogressbar? wyczytałem, że w osobnym wątku to fakt. Proszę o wskazówki, przykładowy kod, pseudo kod etc...

pozdrawiam
Kristi

0

zrobiłem coś takiego
w public Form1()

            toolStripProgressBar1.Style = ProgressBarStyle.Marquee;
            toolStripProgressBar1.MarqueeAnimationSpeed = 20;
            toolStripProgressBar1.Visible = false;
        private void button1_Click(object sender, EventArgs e)
        {
            label5.Visible = true; // label z napisem "Czekaj..."
            toolStripProgressBar1.Visible = true; // tutaj mi się zawiesza, jak użyć/zapakować to do nowego wątku

            updateAction();

            label5.Visible = false;
            toolStripProgressBar1.Visible = false;
        }
0

Poczytaj o BackgroundWorker, w nim uruchom swoją updateAction().

0

Super o to chodziło!

taki problem jeszcze. Zbudowałem connectstring w taki sposób

public static string connectString = "Data Source=ip_address;Initial Catalog=dbName; " +
                                             "User=user;Password=password;Connect Timeout=360; ";

gdy z poziomu mojego programu robię update otrzymuję timeout. Próbowałem puszczać zapytanie w SSMS i zajmuje ok 1min.
Co mogę zrobić aby tego timeouta nie otrzymywać?

1 użytkowników online, w tym zalogowanych: 0, gości: 1