C# ile Access Tablosunda Primary Key Alanda Veri Tekrarı Hatasını Try-Catch ile Yakalama – Ahmet Cansever
Çarşamba , 29 Mart 2017
Anasayfa » ACCESS » C# ile Access Tablosunda Primary Key Alanda Veri Tekrarı Hatasını Try-Catch ile Yakalama

C# ile Access Tablosunda Primary Key Alanda Veri Tekrarı Hatasını Try-Catch ile Yakalama

Bu yazımızda C# Access bağlantısında oluşabilecek OledbException hatalarının nasıl yakalanabileceğini göreceğiz. Bu işlem için oluşturacağımız basit örneğimizde Primary Key yani Birincil Anahtardaki alana aynı değeri yani önceden girilmiş bir değeri girme ve yine Birincil Anahtara değer girmeme durumunda oluşan hataları yakalayarak MessageBox‘ ta uyarı verdireceğiz.

Şimdi bu işlemleri nasıl gerçekleştireceğimizi görelim. Öncelikle basit bir veri tabanı bağlantısı oluşturalım. Örneğimizde kullandığımız veritabanı aşağıdaki gibidir. (dbOkul.accdb)
oledbexception_1
Formumuz ise aşağıdaki gibi olacaktır.

oledbexception_2

Ogrenci tablosuna deneme amaçlı birkaç veri girerek devam edelim. Veri girişini yaptıktan sonra Form yüklendiğinde kayıtların görüntülenmesini sağlayalım.

 

Şimdi asıl konumuza geliyoruz. Bizim için Ogrenci tablosunda bulunan ogrno alanı Primary Key olarak ayarlı. Yani tekil olmak zorunda. Kullanıcı aynı kayıtlı olan bir öğrenci numarası girerse program hata verecektir. Bu hatayı yakalamak ve gerekli mesajı vermek için Ekle butonuna aşağıdaki kodları yazıyoruz.

Şimdi programımızı çalıştırarak yeni ekleyeceğimiz öğrenci için daha önceden kullanılmış bir öğrenci numarası girerek yeni bir kayıt oluşturmaya çalışalım. Görüleceği gibi programımız bir hatayla karşılaştı ve bu hatayı yakalayarak mesaj olarak göstermiş olduk.
oledbexception_3

Peki bu -2147467259 değeri nereden çıktı diyecek olursanız; bu değeri şu şekilde bulabilirsiniz.

Catch bloğuna sadece;

satırını yazdıktan sonra programda oluşmasını istediğiniz hatalı girişi yapabilirsiniz. Örneğin şimdide Birincil anahtara herhangi bir değer girmeden kayıt eklemeye çalışalım. Dönen değer;
oledbexception_5
Artık bu değeri öğrendiğimize göre bu değeri alıp if bloğuna yazarak ve messageBox’a “Öğrenci numarasını girmediniz.” şeklinde bir mesaj yazdırabilirsiniz.

Kodlarımızın tamamı:

Hakkında Ahmet C

Yorum Yap

Wordpress Tema indir