مشکل در استفاده از BackGround Worker
سلام , میخوام برای جلوگیری از هنگ کردن برنامه از BGW استفاده کنم ولی نمیدونم چطوری ازش استفاده کنم قبلاً که اطلاعات مورد نظرو متنی بود راحت یه متغییر رشته میساختم و اطلاعات رو از Bgw میگرفتم اما الان مثلاً تو مثال زیر نمی دونم چطوری اطلاعات رو به گرید بدم :
کد HTML:
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(backgroundWorkerUPDATE_RunWorkerCompleted);
bgwUPDATE.WorkerReportsProgress = true;
bgwUPDATE.RunWorkerAsync();
}
ممنون میشم راهنمایی کنید !
نقل قول: مشکل در استفاده از BackGround Worker
نقل قول: مشکل در استفاده از BackGround Worker
سلام . اگه منظورتو درست فهمیده باشم نباید مشکلی باشه :چشمک:
اول CheckForIllegalCrossThreadCalls = False
رو تو بک گراند ورکر قرار بده . بعد هم datagridview.datasource=dt و . .. .
نقل قول: مشکل در استفاده از BackGround Worker
سلام , ممنون که جواب دادی میشه اینو تو کد من ست کنید ؟ می کد شمارو ست کردم کار نکرد
نقل قول: مشکل در استفاده از BackGround Worker
ارور میده !
Object reference not set to an instance of an object.
نقل قول: مشکل در استفاده از BackGround Worker
ممنون از راهنماییت آقای arash21hhhh , درست شد فقط گاهی ارور میده
Object reference not set to an instance of an object.
علتش چیه دوستان ؟
نقل قول: مشکل در استفاده از BackGround Worker
نقل قول: مشکل در استفاده از BackGround Worker
:قهقهه: ماشالا سرعت پست دهیت عالیه . این خطا دلایل مختلفی داره .
ولی خب واسه اینکه دقیق بفهمی کدوم قسمت کد خطا میده میتونی try-catch رو برداری تا موقع خطا برنامه دقیقا جای خطا توقف کنه و خطا رو بفهمی .
یا از e استفاده نکن . دیتا تیبلو عمومی تعریف کن . بعد مستقیم به دیتاگرید وصلش کن