Sql insert Son Eklenen ID'yi Değeri

10.2.2013 00:18:00 Posted by Kenan KayaOkunma Sayısı: 2175

Veritabanına insert işlemi esnasında bazen son eklenen bir kaydın, örneğin makalenin ya da eklenen ürünün o an ID si gerekebilir. Ben makalemi eklerken MakaleKategorileri tabloma da aynı zamanda son eklenen bu makalenin makaleID sini göndermeliyim. Bunun için @@IDENTITY fonksiyonunu kullanacağım.

Örnek Bir Sql Sorgusu:

 

insert into makaleler(baslik, yazi, eklenmetarihi,…) values(@baslik, @kisayazi, @yazi, @eklenmetarihi…) select @@IDENTITY;

 

@@IDENTITY fonksiyonu devreye girdi. Bunun geri dönüşü int tipinde bir değer olacak. Şimdide bu değeri alalım:

int newid = int.Parse(comm.ExecuteScalar().ToString());

 

Kısaca bu konuya değinmeye çalıştım. Bütün kodları yazmak yerine ihtiyacınız olan kısımları yazdım. Yalnız önemli bir noktayı hatırlatmak isterim. Bazen kayıtlar iki kere eklenebilir. Sebebine bir anlam veremeyebilirsiniz. Bende genelde bu hataya düşüyorum:

int newid = int.Parse... kısmında "comm.ExecuteScalar()" sql sorgusunun tamamını işliyor. Yani tekrardan benim gibi yanılıpta  "comm.ExecuteNonQuery" fonksiyonunu kullanmayınız :) ...

 


ETİKETLER: Sql insert Son Eklenen ID'yi Değeri, @@IDENTITY,

Yorumlar

Henüz bir yorum yapılmamış. İlk yazan sen ol.