8 Temmuz 2013 Pazartesi

Java Gui-- 16(Mysql Örneği)




                Bu örneğimde veritabanına veri eklemek istiyorum.Bunun için önceki java ile mysql bağlantsı yazımda öğrendiklerimi kullanıyorum.

                Öncelikle görsel kısım için yeni bir JFrame Form oluşturuyorum.2 jlabel ve 2 jtextfield sürükle bırak ile ekliyorum ve aşağıdaki gibi bir pencere elde ediyorum:



                Kod kısmına öncelikle diğer sınıfıma bir nesne oluşturuyorum.(Veritabanı işlemlerimi diğer sınıfta yapıyorum)Kaydet butonuna bastığımda ise kayıt yapabilmek için  iki tane String ifade ile JTextfield ların içindeki yazıları tutuyorum ve sonradan oluşturacağım “yeniKayit()” metoduna gönderiyorum. Görsel kısmın “Kaydet” butonu için kod aşağıdaki gibi oldu;

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
        DatabaseDemo d = new DatabaseDemo();
        String ad = jTextField1.getText();
        String soyad = jTextField2.getText();
        d.yeniKayit(null,ad, soyad);
    }

                yeniKayit(null,ad,soyad) fonksiyona yollarken ilk ifadenin “null” olmasının sebebi veritabanında oluşturduğum üye isimli tablonun ilk sütunun auto_increment olması yani değerleri kendi sırayla atamasıdır , bu yüzden boş değer yolluyorum. Bunu yapmamın bir nedeni de sadece iki ifademi girince veritabanı hatası almam oldu.

                Simdi main sınıfımın bulunduğu kısma geçiyorum.Constructor içerisinde library e eklediğim Connector\J kütüphanemin yolunu gosteriyorum.2 tane de yeni metot oluşturuyorum. Bunlaradan ilki “dbOpen()” metodur ki bu metot ile mysql bağlantısını kuruyorum;

public void dbOpen(){
        try {
            con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/deneme","root","12345");
            System.out.println("oldu");
        } catch (SQLException ex) {
            Logger.getLogger(DatabaseDemo.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

                2. metodum ise yeniKayit(String a,String b,String c) metodu , bu metot ile yeni verileri mysql e kaydediyorum.

public void yeniKayit(String a,String b,String c){
        try {
            dbOpen();
            PreparedStatement ps = con.prepareStatement("insert into uye values(?,?,?)");
            ps.setString(1, a);
            ps.setString(2, b);
            ps.setString(3, c);
            int control = ps.executeUpdate();
            if(control == 1){
                JOptionPane.showMessageDialog(null, "islem basarili");
            }
            ps.close();
            con.close();
        } catch (SQLException ex) {
            Logger.getLogger(DatabaseDemo.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

                Önce dbOpen() ile mysql bağlantısını açıyorum. Sonra PreparedStatement nesnesi oluşturarak mysql komutumu burada yazıyorum. “uye” tablosuna verileri eklemek için oluşturduğum nesne ile “setString()” metodunu kullanıyorum. Aşağıdaki koda bakarsak 

ps.setString(1, a);

burada 1 sütun numarasını ,  a ise metoda gönderdiğimiz ilk parametredir. Son olarak JOptionPane ile
kayıt yapılması durumunda kullanıcıyı bilgilendiriyorum.

Ekran Görüntüleri




NetBeans projesini indirmek isteyenler için diskten paylaşıyorum link aşağıda!


0 yorum:

Yorum Gönder