(C#) Thread yerine BackgroundWorker kullanalım

Merhaba;

Thread sever arkadaşlarım onu kullanmaya devam etsin. Ancak bu söylediğim yöntem daha pratik geliyor bana. Adı üstünde, arka planda çalıştırma (:
Windows Form uygulamasında bir sorgunun tüm uygulamayı kilitlemesine son ……..

Bir örnek vereyim, gerisini siz getirirsiniz;

using System.ComponentModel;
 
private DataTable db = new DataTable();
 
public void SorguCalistir(string sql)
{
   BackgroundWorker bw = new BackgroundWorker();
 
   // İlk önce Çalışma Kodlarını yazıyoruz...
   bw.DoWork += (sender, e) =>
   {
      using (OracleConnection conn = new OracleConnection("baglantı bilgileri"))
      {
         using (OracleCommand command = new OracleCommand(sql, conn))
         {
            conn.Open();
            using (OracleDataAdapter oda = OracleDataAdapter(command))
            {
               oda.Fill(db);
            }
         }
      }
    };
 
    // Şimdi Bittiği Durumda Ne yapacuk, onu yazıyoruz
    bw.RunWorkerCompleted += (sender, e) =>
    {
        dataGridView1.DataSource = null;
        dataGridView1.AutoGenerateColumns = true;
        dataGridView1.DataSource = db;
    };
 
    // ve en son artık çalıştırıyoruz ; ;
    bw.RunWorkerAsync();
}

Bir Cevap Yazın