Yapmış olduğum projeler de numaraları ya da herhangi başka bir bilgiyi kaydettiğimiz de, tekrar aynı numarayı ya da bilgiyi tekrar kaydediyoruz.
Bu da veri tekrarına ve veri tabanımızın şişmesine neden olmaktadır. Şimdi sizlere benim örnek olarak yapmış olduğum projeyi anlatacağım. Her personel için verilen bir tane numara bulunmaktadır. Eğer aynı numarada kayıtlı başka personel var ise "Bu Üye Numarasına Ait Derneğimize Kayıtlı Kişi Bulunmaktadır." uyarı mesajı vermektedir.
/*Veri tabanında Personellere vermiş olduğum numaraları kontrol etmek için kullanılan kod*/
/*Kaydet metodundan gelen Domainin numarasını kontrol edip var ise TRUE yok ise FALSE döndüren boolean deger gönderdik*/
public static boolean uyeKontrol(KisiDomain yeniKisiDomain) {
boolean var = false;
KisiDomain bulunanUyeDomain = new KisiDomain();
try {
Connection conn = ConnectionToDerby.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt
.executeQuery("SELECT * FROM kisiler WHERE uyePersonelNumarası = '"
+ yeniKisiDomain.getUyePersonelNumarasi() + "'");
while (rs.next()) {
var = true;
}
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return var;
}
/*Kaydet penceresinde veri tabanındaki metodumuza domaini gönderiyoruz. TRUE ise "Bu Üye Numarasına Ait Derneğimize Kayıtlı Kişi Bulunmaktadır." mesajını veriyor. FALSE ise personele vermiş olduğumuz numarayı kayıt ediyor */
if (KisiDao.uyeKontrol(yeniKisiDomain)) {
JOptionPane.showMessageDialog(null,
"Bu Üye Numarasına Ait Derneğimize Kayıtlı Kişi Bulunmaktadır.");
} else {
KisiDao.ekle(yeniKisiDomain);
}
Örnek olarak aşağıdaki şekilde gösterilmektedir.
Hiç yorum yok:
Yorum Gönder