zidanerfan
سه شنبه 17 دی 1392, 23:00 عصر
سلام , میخوام برای جلوگیری از هنگ کردن برنامه از BGW استفاده کنم ولی نمیدونم چطوری ازش استفاده کنم قبلاً که اطلاعات مورد نظرو متنی بود راحت یه متغییر رشته میساختم و اطلاعات رو از Bgw میگرفتم اما الان مثلاً تو مثال زیر نمی دونم چطوری اطلاعات رو به گرید بدم :
BackgroundWorker bgwUPDATE = new BackgroundWorker();
private void backgroundWorkerUPDATE_DoWork(object sender, DoWorkEventArgs e)
{
try
{
MySqlCommand myCommand = new MySqlCommand("UPDATE Test SET Name='Ali'" , conn);
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
conn.Close();
MySqlDataAdapter Myda = new MySqlDataAdapter("SELECT * FROM Test", conn);
DataSet DS = new DataSet();
Myda.Fill(DS);
e.Result=DS.Tables[0];
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
MessageBox.Show(ex.Message);
}
}
private void backgroundWorkerUPDATE_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
try
{
dataGridView1.DataSource = e.Result;
}
catch
{
}
}
private void BtnEditHover_MouseClick(object sender, MouseEventArgs e)
{
bgwUPDATE.DoWork += new DoWorkEventHandler(backgroundWorkerUPDATE_DoWork);
bgwUPDATE.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorkerUPD ATE_RunWorkerCompleted);
bgwUPDATE.WorkerReportsProgress = true;
bgwUPDATE.RunWorkerAsync();
}
ممنون میشم راهنمایی کنید !
BackgroundWorker bgwUPDATE = new BackgroundWorker();
private void backgroundWorkerUPDATE_DoWork(object sender, DoWorkEventArgs e)
{
try
{
MySqlCommand myCommand = new MySqlCommand("UPDATE Test SET Name='Ali'" , conn);
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
conn.Close();
MySqlDataAdapter Myda = new MySqlDataAdapter("SELECT * FROM Test", conn);
DataSet DS = new DataSet();
Myda.Fill(DS);
e.Result=DS.Tables[0];
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
MessageBox.Show(ex.Message);
}
}
private void backgroundWorkerUPDATE_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
try
{
dataGridView1.DataSource = e.Result;
}
catch
{
}
}
private void BtnEditHover_MouseClick(object sender, MouseEventArgs e)
{
bgwUPDATE.DoWork += new DoWorkEventHandler(backgroundWorkerUPDATE_DoWork);
bgwUPDATE.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorkerUPD ATE_RunWorkerCompleted);
bgwUPDATE.WorkerReportsProgress = true;
bgwUPDATE.RunWorkerAsync();
}
ممنون میشم راهنمایی کنید !