3 Haziran 2013 Pazartesi

SqlCommand Nesnesi ile Birden Fazla Sorgu Çalıştırma

Merhaba arkadaşlar. Bugün yine fire vermeden blogumda yazı paylaşıyorum. paylaştıkça da mutlu oluyorum ve hepinize tavsiye etmeden geçemiyorum. Bugun ki konumuza gelecek olursak bugun ki konumuz Tek sqlcommand nesnesi ile birden fazla sorguyu çalıştırmak. Önceleri bende merak ediyordum böyle bişey  var mı diye hatta iki farklı sorgu için iki farklı sqlcommand bile tanımlamıştım. Kodlama kısmına geçecek olursak


SqlCommand cmd = new SqlCommand("select id, MusteriAdi from denemeTable; select MusteriAdi, MusteriSoyadi from Musteriler", cnn);

//İki farklı sorgumuzu aralarına ; işaret koyarak yazıyoruz. burası çok önemli asla unutmamamız gereken bi nokta.

        cnn.Open(); // Baglantımızı açıyoruz

        SqlDataReader dr = cmd.ExecuteReader(); //çalışan sorgudan dönen sonucu dr nesnemize aktarıyoruz

        bool baskasorguvarmi; //sorgu var mı yok mu kontrol etmek için bool türnde değişken tanımlıyoruz

        do
        {
            while (dr.Read())
            {
                ListBox1.Items.Add(dr[0].ToString() + " - " + dr[1].ToString()); // ilk sorgumuzda ki id ve
      MusteriAdi sutunlarını ekliyoruz
            }

            baskasorguvarmi = dr.NextResult();
  //ikinci sorgunun olup olmadığının kontrolünü nextresult() metodu ile yapıyoruz. 2. bi sorgu varsa  true, yoksa false dönecektir ve baskasorguvarmi değişkenin değerine göre tekrar while döngüsüne girerek listbox a veri ekleme işlemini yapacaktır

        }
        while (baskasorguvarmi);

Arkadaşlar yukarıda da görüldüğü gibi iki sorgu arasına  ; koymayı unutmuyoruz ve NextResults() metodu ile  ikinci sorgu var mı yok mu kontrol  ediyoruz. diğer kısımları zaten bildiğinizi varsayıyorum. Sorunlarınıza çözüm olması dileğiyle, hoşçakalın...

Kaynak : http://www.gencayyildiz.com
       

Hiç yorum yok:

Yorum Gönder