Posts Tagged :

delete

Visual Studio Online da Proje Silme İşlemi 600 274 mezo

Visual Studio Online da Proje Silme İşlemi

Merhaba arkadaşlar

Biraz önce Visual Studio Online da bulunan bir projemi silmek istedim ve uzun süre aradıktan sonra projenin nasıl silineceğini buldum 😀 sizlerlede paylaşmak istedim 😀 Visual Studio  Online ı açtığımızda solda üstte Ayarlar simgesi var ahanda şöyle  🙂  Ona basıyorsunuz sonra karşınıza çıkan ekranda projeler listelenecek hangi projeyi silecekseniz sağ click ve Delete o işlemde ahanda şöyle 🙂

IC686855

Umarım yararlı olur 🙂

Bilgiyle Kalın

M.Zeki OSMANCIK

Linq To SQL _ Insert Update Delete 570 571 mezo

Linq To SQL _ Insert Update Delete

Merhaba arkadaşlar

Bir önce ki makalede sizlere LinqToSql ile nasıl Select sorguları çalıştırabileceğiniz ile ilgili bazı bilgiler vermiştim. Bu sefer ise Insert Update ve Delete işlemleri ile ilgili bazı bilgiler vermek istiyorum. Projemiz içersine dbml dosyasını eklediğimizi varsayarak devam etmek istiyorum. Daha önceki örnekteki form tasarımına ek olarak sadece 3 Button 2 Textbox ve Label nesnelerini ekleyip bu tasarım üzerinden devam edeceğim.

Insert

Insert işlemini gerçekleştirebilmek için Kaydet butonumuzun Click olayı içersine sadece şu kodları yazmamız yeterli olacaktır.

NorthwindDataContext db = new NorthwindDataContext();
Category eklenecek = new Category();
eklenecek.CategoryName = TextBox1.Text;
eklenecek.Description = TextBox2.Text;
db.Categories.InsertOnSubmit(eklenecek);
db.SubmitChanges();
Doldur();

Bu işlemde bir dataContext örneği oluşturduktan sonra Northwind üzerine insert işlemi için gerekli olan alanları belirttiğimiz Category tipindeki nesneyi doldurup bu nesneyi tüm bilgileri ile birlikte kaydetmesini söylüyoruz.

Güncelleme ve silme işlemlerinden önce ufak bir noktaya değinmek sanırım yerinde olacaktır. SQL sorgularında yaptığımız gibi bizim burada mutlaka bir ID vermemiz gerekiyor yani güncellemek istediğimiz verinin kesin adresini yolunu belirtmeliyiz. Biliyorsunuz ki SQL kodları ile Update veya Delete komutları yazdığınızda “Where” ile ID sini belirtmezseniz tüm kayıtlar için güncelleme veya silme işlemini gerçekleştirir. Bu yüzden önce nasıl ID belirtiriz ona bakalım.  ID yazan yere 3 5 yazmayacağız tabi ki. DataGridView üzerinden bir veri seçip onu yerleştirdiğimiz Textbox ve Label lar üzerine yazdırdıktan sonra işlemlerimize devam edeceğiz.

Kayıt Seçme İşlemi

Bunun için DataGridView üzerine listelediğimiz kayıtlardan herhangi bir tanesine çift tıkladığımızda işin gerçekleşmesi için CellContentDoubleClick olayı işimizi görebilir ve içersine yazmamız gereken kodlar ise şunlar:

Bu adımdan sonra artık listelenen kayıtlar arasından birine çift tıkladığımızda tüm bilgileri text ve label nesnelerine yazılacak bizde güncelleme veya silme yaparken bu bilgilerden yararlanabiliriz.

NorthwindDataContext db = new NorthwindDataContext();
Category secilecek = db.Categories.FirstOrDefault(x => x.CategoryID == 
Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value.ToString()));
lblID.Text = secilecek.CategoryID;
txtName.Text = secilecek.CategoryName;
txtDesc.Text = secilecek.Description;

Update

Güncelle butonumuzun Click olayına ise şu kodları eklememiz yeterli :

NorthwindDataContext db = new NorthwindDataContext();
Category guncellenen = db.Categories.FirstOrDefault(x=>x.CategoryID ==Convert.ToInt32(lblID.Text));
guncellenen.CategoryName = txtName.Text;
guncellenen.Description = txtDesc.Text;
db.SubmitChanges();
Doldur();

Burada daha önce seçip bir label üzerine yazdırdığımız ID yi kullanarak TextBox lar üzerindeki güncel verileri alıp update işlemini gerçekleştiriyoruz.

Aynı şekilde delete işlemi içinde yazmamız gereken kodlar çok basit şöyle ki :

NorthwindDataContext db = new NorthwindDataContext();
Category silinen = db.Categories.FirstOrDefault(x => x.CategoryID == int.Parse(lblID.Text));
db.Categories.DeleteOnSubmit(silinen);
db.SubmitChanges();
Doldur();

Birde burada her işlemden sonra kullandığımız datagridview içersine bilgileri dolduran Doldur metodu var onuda sizlerle paylaşayım.

db = new NorthwindDataContext();
var sonuc = from x in db.Categories
select new
{
x.CategoryID,
x.CategoryName,
x.Description
};
dataGridView1.DataSource = sonuc;

Bu kodları butonlarımızın Click olaylarına yazdıktan sonra herhangi bir hataya karşı önlem almadığımız için işlem sıramız şöyle olmalı öncelikle form açılacak ve kayıtlarımız sıralanacak , ardından bir kayıt eklemek için textboxlar doldurularak Kaydet butonuna basılacak ve Doldur metodu ile kayıtlar yeniden datagridview üzerinde görüntülenecek ardından bir kayda çift tıklayarak bilgilerini text ve label üzerine yazdıracağız ve Güncelle butonu ile güncelleme ve Sil butonu ile seçilen kaydın silinme işlemlerini gerçekleştireceğiz.

Umarım yararlı olur

Bilgiyle Kalın

M.Zeki Osmancık

 

SQL _ Trigger 713 381 mezo

SQL _ Trigger

Merhaba arkadaşlar

Fazla zamanım olmadığı için blogla fazla ilgilenemiyorum  işte o nadir bulduğum zamanlardan birtanesinde daha  yararlı olacağını umduğum bir konu ile sizlerleyim. (TV programı gibi oldu ama idare edin artık :D) .

Bugün sizlere parmaklarımın yazabildiği kadar trigger anlatmak istiyorum.

Trigger Nedir?  Önce bu soruya çok basit bir bakış açısı ile bakalım yani trigger in türkçe meali ile.  Ne dersiniz ? Evet dediğinizi duyar gibiyim adeta 😀  Trigger tetik demektir. Nasıl yani tetik bildiğimiz silahlardaki tetikten işte 😉  Tetik çekildiğinde nasıl silah bir takım işlemler gerçekleşiyor ve kurşun atıyor . Sql dede bazı işlemlerden sonra otomatik olarak başka işlemlerin yapılmasını yani tetiklenmesini isteyebiliriz böyle bir yapıyı Trigger dediğimiz kod parçaları gerçekleştirirler…

Peki Trigger dediğimiz olay nasıl yazılır yada yapılır???

 

Triggerlar, Query ekranında T-SQL kodu ile veya Management Studio ile oluşturulup yönetilebilirler ve  View  ve tablolar üzerinde tanımlanabilir.  CREATE TRIGGER komutunu  kullanabilmek için sysadmin, db_owner veya db_ddladmin  rolüne sahip olmak gerekir.  Bir trigger başka bir tabloya erişecekse bu tablo için de trigger oluşturan kullanıcının erişim izni veya güncelleme izni olması gerekir.

 

Peki trigger ‘ ları ne zaman kullanırız ?

*  Değişiklikleri takip etmek için,

* Birincil anahtar üretmek için,

* Karmaşık iş kurallarını gerçekleştirmek için,

* E-posta atmak gibi olayları otomatik olarak yapmak için,

* Standart hata mesajlarının dışında bir hata mesajı elde etmek için,

* Veritabanı erişimlerini takip edebilmek için,

* Nesnede meydana gelebilecek değişiklikleri takip ve engellemek için kullanabiliriz.

 

Trigger dediğimiz yapı kendi içinde 2 ye tekrar o  bölünenlerden biride  ikiye ayrılır 😀 çokmu karışık oldu ? 😀 yani özetle şöyle :

DDL Trigger’lar: Create, Alter ve Drop işlemleri gerçekleştiğinde çalışan trigger’lardır.

DML Trigger’lar: Insert, Update ve Delete işlemleri gerçekleştiğinde çalışan trigger’lardır.

CREATE TRIGGER tetikleyici_adiON tablo_adiFOR veya AFTER veya INSTEAD OF (INSERT veya UPDATE veya DELETE)AS Sql ifadeleri

 

After (For) Trigger’ı: After triggerları, kendiyle ilişkili işlem gerçekleştikten hemen sonra ateşlenir.

Veritabanındaki temel işlemler için (ekleme, silme ve güncelleme) After triggerları tanımlanabilir.

Create Trigger Tg_SilinenKayıtlar

On Employees

After Delete

As

Begin

Declare @Ad nvarchar(50)

Declare @CalisanID İnt

Select @Ad=FirstName,@CalisanID=Employees From Deleted

Select CalisanID,Ad+’-Silinmiştir’,GetDate()From Deleted

Insert Into CalisanKayitRapor Values(@CalisanID,@Ad+’- Silindi’,GetDate())

End

Instead Of Trigger’ı: Instead of triggerları, belirlenen işlem gerçekleşirken devreye girer ve kendi içinde tanımlanan komutları icra etmeye başlar. Yani, belirlenen işlemin yerine geçer. Instead of triggerlari işlemlerin arasına girebildiğinden kontrol amaçlı kullanılabilirler. Tıpkı After triggerları gibi temel veritabanı işlemleri için Instead Of triggerları  tanımlanabilir.

Alter Trigger Tg_CalisanKayitRaporOn EmployeesAfter InsertASBegin

Declare @Ad Nvarchar(50)

Declare @CalisanID int

Select @Ad = FirstName,@CalisanID = EmployeeID From Inserted

 

Insert Into CalisanKayitRapor Values(@CalisanID,@Ad,GetDate())

End

 

INSERT – UPDATE – DELETE

Trigger devreye girdikten sonra Inserted veya Deleted tablolarında yeni eklenen veya silinen kayıtların bir kopyası tutulur.

Trigger Update (ALTER)

CREATE ile oluşturulmuş bir tetikleyiciyi daha sonra üzerinde değişiklikler

yapmak üzere tekrar açmak isteyebilirsiniz. Bunun için, tablonuzda oluşturulmuş bir tetikleyici üzerindeyken sağ tıklayarak açılan menüden Modify komutunu vermeniz gerekir.

 

Trigger Silmek (DROP)

Oluşturulan bir tetikleyiciyi DROP komutuyla ya da tetikleyici üzerinde sağ tıklayarak açılan menüden Delete komutunu vererek silebilirsiniz.

Delete Trigger Tg_CalisanKayitRapor

Trigger Enable ya da Disable

Oluşturulan bir tetikleyici, her zaman aktif durumdadır. Tetikleyiciyle ilgili bir durum oluştuğunda otomatik olarak devreye girer. İstenildiğinde oluşturulan bu tetikleyiciler pasif

hâle getirilebilir. Tetikleyici üzerinde sağ tıklayarak açılan menüde Disable komutunu verdiğinizde tetikleyici pasif hâle gelir.

ALTER TABLE tablo_adiDISABLE TRIGGER Musteri_SilmeveyaENABLED TRIGGER Musteri_Silme

 

Umarım yararlı olur…

 

M.Zeki Osmancık.

 

    Join our Newsletter

    We'll send you newsletters with news, tips & tricks. No spams here.