SQL Trigger

Merhaba bu makalemde sizlere SQL Trigger Fonksiyonundan bahsedeceğim. Trigger kelimesinin Türkçe karşılığı “Tetikleyici”dir. Trigger oluşturduğunuz tabloda yapılan Insert, Delete, Update gibi işlemleri otomatik olarak algılar ve yapmasını istediğiniz işlemi otomatik olarak yapar. Trigger Select deyiminde çalışmaz bunun nedeni Select deyimi kullanıldığında tabloda herhangi bir değişiklik olmaz. Bu nedenle select deyimi Triggerlarda kullanılmaz. Triggerlar tabloların altında bulunan Trigger klasöründe bulunur.

2 çeşit trigger vardır. Bunlar “After” işlem yapılmadan önce kullanmak için ve “Instead Of” işlem yapıldıkdan sonra kullanılır. Şimdi kullanımına bakalım.

CREATE TRİGGER triggerAdi ON tabloAdi
AFTER INSERT
AS
   yapılacak işlem

Şeklinde kullanılır. “After” yerine “Instead of” da yazılabilir. Şimdi birkaç örnekle konuyu kavrayalım.

CREATE TRİGGER triggerAdi ON tabloAdi 
INSTEAD OF INSERT
AS
    declare @id int
    declare @isim nvarchar
select @id = İD, @isim = İsim from inserted

UPDATE ikincitabloAdi SET @isim = İsim where @id = İD

Burada tabloya kayıt eklendiği zaman ikinci tablodaki isim kısmındaki alanı değiştiriyor.

C# Veritabanı İşlemleri

Merhaba arkadaşlar bu yazımda size C# ile veri tabanı işlemlerinden bahsedeceğim. Anlatımlarım da hem Access için gerekli kodları hemde MS SQL için gerekli olan kod parçacıklarını vereceğim. Bazı kod parçacıkları kendim kullandığım şekildedir.  İnternette araştırarak daha farklı şekilde de aynı işlemleri yaptırabilirsiniz.

Bağlantı (Connect) : Veri tabanının özellikleri, dosya yolu vb. gibi bilgileri içerir. Bu bigileri tutmak için Access’de OleDbConnetion, MS SQL’de ise SqlConnetion fonksiyonu kullanılır.

Access : OleDbConnection baglan = new OleDbConnection(“provider=microsoft.jet.oledb.4.0; Data Source=veritabanıAdı.mdb”);

MS SQL : SqlConnection baglan = new SqlConnection(“Data Source=./;Initial Catalog=veritabanıAdı;Integrated Security=true”);

 Kayıt Ekleme (İnsert) : Veri tabanına kolon isimlerine karşılık gelecek şekilde gönderilen parametreleri veri tabanına ekleme işlemini göstereceğim.

Access: 

baglan.Open();
 OleDbCommand cmd = new OleDbCommand("insert into ogrenci (Adı,Soyadı,Tel)values(@adi,@soyadi,@tel)", baglan);
 cmd.Parameters.AddWithValue("@adi", txtAdi.Text);
 cmd.Parameters.AddWithValue("@soyadi", txtSoyadi.Text);
 cmd.Parameters.AddWithValue("@tel", txtTel.Text);
 cmd.ExecuteNonQuery();
 baglan.Close();
 MessageBox.Show("Başarıyla Eklendi", "Bilgi");

MS SQL :

baglan.Open();
SqlCommand cmd = new SqlCommand("insert into musteriler(adı,soyadı,telefon,gsm,adres,mail,bilgi)values(@adi,@soyadi,@tel)", baglan);
cmd.Parameters.AddWithValue("@adi", txtAdi.Text);
cmd.Parameters.AddWithValue("@soyadi", txtSoyadi.Text);
cmd.Parameters.AddWithValue("@tel", txtTel.Text);
cmd.ExecuteNonQuery();
baglan.Close();
MessageBox.Show("Başarıyla Eklendi", "Bilgi");

Bu yazının devamını oku