BAGLAN CLASS (tek_veri_getir)



Merhabalar Arkadaşlar,

      Bu yazımızda BAGLAN class ı içerisindeki tek_veri_getir fonksiyonunun nasıl kullanıldığını anlatmaya çalışacağım.

      ASP.Net ile verilerimizi veritabanına gönderdik ve veritabanımızda bazı işlemler yaptığımızı düşünelim. Bu işlemler sonucunda geriye bizim belirlediğimiz TEK BİR SONUÇ (Tek sütun ve Tek satır) göndermesini istiyorsak bu fonksiyonu kullanacağız.

Üst resimdeki gibi bir girişimiz olsun.

Örnek Tablolar

Stored Procedure


     Kullanıcı girişi için bir stored procedure (SP) yazacağız.
     Senaryomuza göre SP'e 3 adet veri göndereceğiz (eposta, şifre ve yetki) ve SP' çalıştıktan sonra bize gönderdiğimiz bilgilere göre kullanıcı varsa onun id bilgisini yoksa 0 (sıfır) değerini geri döndürecek.
     Yani yapacağımız işlemler sonucunda mutlaka tek bir veri gelmesi gerekiyor.
   

ALTER proc [dbo].[giris_yetki]
@eposta nvarchar(50),
@sifre nvarchar(50),
@yetki nvarchar(20)
as
if (@yetki = 'Yönetici')
begin
--Yönetici Girişi işlemleri
 if (select COUNT(*)as sayi from Yonetici where eposta=@eposta and sifre=@sifre and durum='Aktif')>0
 begin
  select top 1 id from Yonetici where eposta=@eposta and sifre=@sifre and durum='Aktif'
 end
 else
 begin
  select 0
 end
end
else
begin
--Kullanıcı Girişi işlemleri
 select isnull((select top 1 id from Kullanici where eposta=@eposta and sifre=@sifre and durum='Aktif'),0)
end



Code-behind


Burada yapacağımız işlem oluşturduğumuz stored procedure ' e verileri göndermek ve gelen tek veriye göre işlem yapmak.


 protected void btn_giris_Click(object sender, EventArgs e)
        {
            try
            {
                baglan bag = new baglan();
                object[,] icerik = new object[,] { 
                                             { "@eposta", txt_eposta.Text },
                                             { "@sifre", txt_sifre.Text },
                                             { "@yetki", drop_yetki.SelectedItem.Text } 
                                                 };
                int id = 0;
                id = Convert.ToInt32(bag.tek_veri_getir(icerik, "giris_yetki"));

                if (id == 0)
                {
                    lbl_sonuc.Text = "Hatalı Giriş";
                }
                else
                {
                    if (drop_yetki.SelectedItem.Text == "Yönetici")
                    { 
                        // Yönetici girişi işlemleri burada
                        Response.Redirect("Yonetici/index_yonetici.aspx?id=" + id);
                    }
                    else
                    {
                        //Kullanıcı girişi işlemleri burada
                        Response.Redirect("Kullanici/index_kullanici.aspx?id=" + id);
                    }
                }
            }
            catch (Exception)
            {
              throw;
            }
            
        
        }



Başka nerelerde kullanılır ?
     - A sınıfının öğrenci sayısını getir.
     - Bu yıl kaç öğrenci mezun oldu ?

gibi yapacağımız işlemler sonucunda tek bir veri getirilecekse bu  fonksiyonunu kullanıyoruz.

İyi çalışmalar dilerim.


İlk