我有一個程序,其進度條在程序完成之前不會更新。我做了一些挖掘,並發現我需要製作一個後臺工作人員,以便在我的while循環運行時進行更新。從示例中我只是沒有得到我應該做的。有人可以向我解釋如何設置它以及它在做什麼嗎?製作一個BackgroundWorker,使ProgressBar能夠工作
int progressBar;
private void button3_Click(object sender, EventArgs e)
{
try
{
while (y < PriDID.Count)
{
cmd.CommandText = "SELECT COUNT(*) FROM Accounts WHERE ACCT='" + ACCT[y] + "'";
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count < 1)
{
progressBar = (y/SDM_ACCT.Count) * 100;
progressBar1.Value = progressBar;
progressBar1.Update();
Console.WriteLine(SDM_ACCT[y - 1]);
cmd.CommandText = @"INSERT INTO Accounts(SDM_ACCT,Description)
values(" + "'" + ACCT[y] + "'," + "'" + Comment[y] + ")";
cmd.ExecuteNonQuery();
y++;
recordCount++;
}
else
{
y++;
}
MessageBox.Show(recordCount + " unique records successfully loaded to the Database.");
}
}
catch (Exception ex)
{
MessageBox.Show("Exception: " + ex.Message + " Please make sure you have selected a valid path for your CSV and database.");
}
}
你找到關於如何編寫一個後臺工作哪些信息,以及你有什麼具體的問題與你的實現呢? – Servy
我發現了這個,但我只是不明白如何適應我的。 http://stackoverflow.com/questions/6481304/how-to-use-a-backgroundworker –
你有什麼具體*問題適應你的情況?什麼不適合你? – Servy