C# ile Veritabanına Eklenen Son Kaydın ID Numarasını Bulmak

Batuhan Düzgün tarafından yayınlanmıştır 29. August 2010 08:10

Merhaba arkadaşlar,bu yazımda sizlere veritabanındaki bir tabloya eklenen en son kaydın otomatik olarak elde edilmesini anlatacağım.Şimdi yapacağımız işlemler sırayla aşağıdaki gibidir;

1-)Arayüz Tasarımı

2-)Tablo Tasarımı

3-)SQL Komutu veKodların Yazılması

 

Arayüzü Tasarlıyoruz…

İlk iş olarak Visual  Studio 2008’i açıyoruz.Ardından  File>>New>>Project>>WindowsApplication’ı seçiyoruz.Proje ismini “SonKaydinID_Bulmak”  şeklinde belirledim.Ardından aşağıdaki resimde gözüktüğü gibi basit bir form hazırlıyoruz.

 

 

Form üzerine 4 adet Textbox,4 adet Label,1 adetGroupBox  ve  1 adet Button yerleştirdim.İsimlerini Properties panelinden aşağıdaki sırada değiştirdim.

TextBoxlar :

ogr_txt_adi

ogr_txt_soyadi

ogr_txt_Okuno

ogr_txt_bolumu

Button :

btn_kaydet

GroupBox ve Label’leri  kodlama yaparken kullanmayacağımız için isimlerini değiştirmedim.İsimlendirmeyi kodlama yaparken rahatlıkla hatırlayabilme açısından yapıyorum.Arayüzümüz hazır olduğuna göre artık tablo tasarımını yapabiliriz.

 

Tablo Tasarımı …

MS SQL Server 2005’i açıyoruz.Ardından  “Connect” tuşuna basıp SQL Server’ı açıyoruz.Daha sonra ise “Databases” yazan klasöre sağ tıklayıp, “New Database” diyoruz.Daha sonra gelen pencerede veritabanımızın ismini veriyoruz.Ben “SonKayit” diye belirledim.Sol tarafta veritabanlarının göründüğü yerde,veritabanımızı bulup  tıklayıp,”Tables”  klasörüne sağ tıklayıp yeni bir tablo ekliyoruz.Adını “OgrenciBilgileri” diye belirledim.Aşağıda görüldüğü gibi sütunlarınıdüzenliyoruz.

 

Fakat,önemli bir detay var.”ID” yazan sütunumuzun ColumnProperties’ten  (hemen altta yeralır.)  “Identity Specification”  özelliğini “Yes”  olarak ayarlıyoruz.Tablomuzkayıt eklemeye hazır.Hemen kodları yazalım.

Kodlar ve SQL Cümesi…

Artık veritabanı ile arayüzümüzü (Formumuzu)  haberleştirme zamanı  geldi.Yazacağımız kodlar ile formumuzdan veritabanındaki  “OgrenciBilgileri “ adlı  tabloya kayıt ekleyeceğiz.En son eklediğimiz kaydın  ID numarasını alacağız.İlk iş olarak kod sayfamıza veritabanı işlemlerini yapmamızı sağlayacak olan başlık dosyasını eklemek olacak.Bunun için aşağıdaki kod satırını ekliyoruz.

usingSystem.Data.SqlClient;

Hemen ardından bağlantı nesnemizi ve komutumuzu işleyecek olan nesnemizi tanımlıyoruz.

private SqlConnection Baglanti;

private SqlCommand Komut;

Birde en son eklenen kaydın değerini tutacak olan değişkeni tanımlıyoruz.Bu değişkeni  string  olarak tanımladım.Çünkü herhangi bir yerde kullanmayacağımız, sadece göstereceğimiz için tip dönüşümüne gerek duymadım.

stringSonKayitID;

 

Hızlıca veritabanına kayıt eklemeyi sağlayacak olan metodu yazıyoruz.

 

public bool OgrenciKaydet()

{

            boolBayrak = false;

 

            try

            {

                Baglanti = new SqlConnection("Data source=pc-pc\\sqlexpress; Initialcatalog=SonKayit; Trusted_Connection=True;");

                Baglanti.Open();

                stringSQL_Cumlesi = "INSERT INTOOgrenciBilgileri(OgrAdi,OgrSoyadi,OgrOkulNo,OgrOkulBolumu) VALUES('"+ ogr_txt_adi.Text.Trim() + "','"+ ogr_txt_soyadi.Text.Trim() + "','"+ ogr_txt_Okuno.Text.Trim() + "','"+ ogr_txt_bolumu.Text.Trim() + "'); selectscope_identity()";

                Komut = new SqlCommand(SQL_Cumlesi,Baglanti);

                SonKayitID =Komut.ExecuteScalar().ToString();//Bu satırı önemlidikkat ederseniz son kaydın id'sini yakalamak için ExecuteScalar metodunukullandık.

                Bayrak = true;

            }

            catch(Exception ex)

            {

                MessageBox.Show(ex.ToString());

           }

            finally

            {

                Baglanti.Close();

            }

 

            returnBayrak;

}

Bu kodda aslında hemen her şey normal kayıt ekleme işlemiyle aynı fakat,bazı farklar var.Özellikle SQL cümlesine dikkat ederseniz     select scope_identity()    komutunu  görecekseniz.Bu komut bize eklenen en son kaydın ID’sini verecektir.Bunu yakalayabilmek için ise ExecuteScalar() metodunukullanıyoruz.Bu metod hem SQL komutunu işletir hemde,yakalaması gereken ID’yi bekler.Yakaladığımız  son ID numarasını stringe çevirip değişkene atıyoruz.İşte eklenen son kaydı bulmak bu kadar bir işlem aslında.Birde butona tıklanınca neler yazacağız ona bakalım.

private void btn_kaydet_Click(objectsender, EventArgs e)

{

            if(OgrenciKaydet())

            {

                MessageBox.Show("Kaydınız Başarı ile Eklendi!");

                MessageBox.Show("Son kayıt olan kişinin ID numarası : "+ SonKayitID);

            }

            else

            {

                MessageBox.Show("Kayıt Ekleme İşlemi Başarısız!");

            }

}

 

Burada metodu çağrıyoruz.Eğerki  true dönerse if içine girip ilgili mesajları ekranda gösterecek.Tam tersi bir durumda ise hata mesajı gösterecek.

Sonuç…
 
 
 
Uygulamayı indirmek için tıklayınız http://rapidshare.com/files/415715784/SonKaydinID_Bulmak.rar 

Evet arkadaşlar bir yazımın daha sonuna gelmiş bulunuyoruz.Umarımzevkle okuyacağınız bir makale olmuştur.Bir sonraki makalemde görüşmek dileğiyle … 

BatuhanDüzgün

SakaryaÜniversitesi

BilgisayarMühendisliği 

Currently rated 5.0 by 3 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

C#

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.

Batuhan Düzgün

Sakarya Üniversitesi 

Bilgisayar Mühendisi

Endüstri Mühendisi

Yeditepe Üniversitesi

Bilgisayar Mühendisliği Yüksek Lisans 

 sahibinden.com

   Kıdemli Uzman Yazılım Mühendisi  

E-Mail 

   batuhan.duzgun@sahibinden.com

   batuhan.duzgun@windowslive.com

  github.com/batux

 

Sayfalar

Calendar

<<  July 2018  >>
MoTuWeThFrSaSu
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

Yazıları geniş takvimde göster