Linq to Sql ile Controlden Insert Update Delete


Merhaba Arkadaşlar;

Bu sefer Linq to Sql ile dışarıdan veri girişi yapıcaz. Bunun için yine sade ve basit bir örnek yapalım;

Önceki örneimizdeki gibi Bir DB bir Tablo ve Tabiki bir new -> web site dan yeni bir projeye ihtiyacımız var. Öncelikle DB ile işimiz bittikden sonra ConnctionString'imizi oluşturmamız gerekiyor.

Şimdi söyle bir şey yapalım. Öncelikle benim tablom ID alanı ile birlikde 6 sütun. Ben INSERT, UPDATE ve DELETE işlemleri için 5 TextBox, 3 Button ve 1 DropDownList kullanıcam. DropDownList'im benim Update ve Delete işlemlerim sırasında işime yarayacak. Diğer TextBox'lardan da INSERT ve UPDATE işlerimi yapıcam.

Öncelikle Bir SqlDataSource ile DropDownList'imi tabloma bağlıyorum. Ben buradan hangi kaydı güncelliceksem, onun SOYADI alanını DropDownList'e çekiyorum. Değerinide VALUE ID olarak, DISPLAY'e de SOYADI'olarak ayarladıkdan sonra benim DropDownList'imle işim bitiyor. Daha Sonra Solution Explorer Penceremden Add New Item diyerek sayfama bir Linq to Sql Class ekliyorum.

Bu CLASS'ıma istediğim ismi verdikden sonra, DB'de ki hangi tablo üzerinde işlem yapacaksak o tabloyu Server Explorer'dan sürükleyip Linq To Sql Class'ımın içerisine bırakıyoruz.

Daha sonra .cs sayfamın Page_Load kısmına tablodakikayıtlarımı görmek için gerekli olan kodumu yazıyorum.

lnqDataClassesDataContext contex = new lnqDataClassesDataContext();

        var query = from c in contex.tbKisiKayits select new { c.id , c.Adi, c.Soyadi, c.Adres, c.Tel, c.GSM};

        foreach (var item in query)

        {

            Response.Write(item.Adi + "  " + item.Soyadi + "  " + item.GSM + "<br>");

        }

Bu işlemden sonra ilk olarak INSERT sorgumuzu yapabilmemiz için gerekli olan kodumuzu yazıyorum; 

lnqDataClassesDataContext contex = new lnqDataClassesDataContext();

        tbKisiKayit tb = (from c in contex.tbKisiKayits select c).SingleOrDefault();

        tb.Adi = TextBox1.Text;

        tb.Soyadi = TextBox2.Text;

        tb.Adres = TextBox3.Text;

        tb.Tel = TextBox4.Text;

        tb.GSM = TextBox5.Text;

        contex.tbKisiKayits.InsertOnSubmit(tb);

        contex.SubmitChanges();

Şimdide UPDATE sorgumuz için gerekli sorgumuzu yazıyorum;

lnqDataClassesDataContext contex = new lnqDataClassesDataContext();

        int d = Convert.ToInt32(DropDownList1.SelectedValue);

        tbKisiKayit tb = (from c in contex.tbKisiKayits where c.id == d select c).FirstOrDefault();

        tb.Adi = TextBox1.Text;

        tb.Soyadi = TextBox2.Text;

        tb.Adres = TextBox3.Text;

        tb.Tel = TextBox4.Text;

        tb.GSM = TextBox5.Text;

        contex.SubmitChanges();

ve on olarakta DELETE işlemini yapacağım sorgumu yazıyorum;

lnqDataClassesDataContext contex = new lnqDataClassesDataContext();

        int d = Convert.ToInt32(DropDownList1.SelectedValue);

        tbKisiKayit tb = (from c in contex.tbKisiKayits where c.id == d select c).FirstOrDefault();

        contex.tbKisiKayits.DeleteOnSubmit(tb);

        contex.SubmitChanges();

NOT: Delete ve Update işleminde where cümleciğine atanan parametre DropDownList'in VALUE değerinden geliniyor. Onun haricindeki ütün bilgiler TextBox1-5 ile tablomuza aktarılıyor. Insert işllemini yaparken tablomuzun ID alanı Primary Key ve aynı zamada IDENTITY olduğu için Insert işleminde her hangi bir değer atamamız gerekmiyor.

Sorgular çok karışık olmadığı için çok fazla açıklama yapmak istemiyorum, sormak istediğiniz bir şey olursa bana mail atabilirçsiniz.

İyi Çalışmalar, Kolaygelsin.







Blog Posts' Cloud