Oca 22

C#’da Sql Server Veritabanından İstenilen Veri Alanına Ulaşmak

ekrangoruntusu1 Öncelikle bu yazı fikri nereden çıktı ondan kısaca bahsedeyim. Projemde form üzerinde stok numarası girilen ürünün birim fiyatını veri tabanından ilgili stok numarasına ait birim fiyat alanından çekmem gerekiyordu.

          Ekran alıntısında da görüldüğü gibi stok numarası textbox’ından alınan stok numarası sql sorgusu içerisinde karşılaştırılarak veritabanından stok numarasının eşit olduğu ürünbulunur ve o ürüne ait birim fiyat textbox’a yazılır.

Kod kısmına bakacak olursak;

baglan nesne=new baglan();

textBox2.Text = nesne.fiyatdonder(“Select [Birim_Fiyat] from Ambar Where Stok_No=’”+textBox1.Text+”‘”);

        Yukarıdaki satır büyüteç simgeli butonun altında yazmaktadır. Öncelikle baglan clasımız altında bulunan fiyatdonder fonksiyonuna ulaşmak için bir nesne tanımlıyoruz. nesne.fiyatdonder diyerek de baglan classımızın içindeki fonksiyonu çağırıyoruz. Sql sorgumuz da da seçim işlemi yapacağımız için select diyoruz ve birim fiyat alanını istediğimiz için Birim_Fiyat yazdık ve tablo isminden sonra da where şartımız ile Stok_No’nun textbox1’e eşit olma durumunu kontrol ettik. 

FiyatDonder fonksiyonunun içine bakacak olursak;

Fonksiyona geçmeden şu adımları unutmayalım. Öncelikle bir bağlantı tanımlıyoruz.

baglanti.ConnectionString = “server=serveradi; Initial Catalog=veritabaniadi; Integrated Security=true;”;
baglanti.Open();

ekrangoruntusu2

FiyatDonder fonksiyonu string değer döndüren bir parametre (sqlcumlesi) alan bir fonksiyondur. SqlCommand tanımladık, SqlDataReader tanımladık bir de veri okuyacağımız için. Bir de gecici değişkenimizi oluşturduk.  While Döngüsü içerisinde dr.Read() (DataReader Veri okuduğu sürece) gecici değişkenimizi datareader içerisindeki “Birim_Fiyat” alanına eşitlemiş olduk. Buradaki mantık while ile baştan sona tüm stok numaralarının text’den gelen stok numarasına eşit olup olmadığını kontrol etmektir. Sonra da eşit olması durumunda gecici değişkene eşitlemiş olduk. dr.close() diyerek datareader’ı kapattık. If kontrolü ile de gecici’nin boş olup olmadığını kontrol ettik boş ise veri yok demektir. Bu yüzden “bulunamadı” stringini döndürdük. Eğer Boşluğa eşit değilse de zaten doludur bu yüzden gecici değişkenini döndürdük. SqlServer veri tabanından C#ile istenilen veriyi çekmek bu kadar.

1 yorum

    • Buck on 2 Ağustos 2015 at 07:01

    I guess finding useful, reliable infmaortion on the internet isn’t hopeless after all.

Bir Cevap Yazın