Pages

JCombobox'ta Database'den Veri Çekmek ve Bu Listelenen Verilerinin Sütununu Görmek.


Merhaba arkadaşlar bugün ki dersimiz de JComboBox’ta listelenen veririn sutun id’sini görmekten bahsedeceğim…
Bize gerekli olan şeyler şunlar;
Bir database = personelDb
Bir tablo = departman
Departmanın içersine de iki sutun;
İd, departmanAdi
Sonra Database ekleme yapıyoruz;


public static void initRecord(DepartmanDomain yeniKayit) {

                        Connection baglanti = getConnection();
                        try {
                                   Statement sorgu = baglanti.createStatement();
                                   sorgu.executeUpdate("INSERT INTO departman (departmanAdi) VALUES('"+ yeniKayit.getDepartmanAdi() + "')");
                        } catch (SQLException e) {
                                   // TODO Auto-generated catch block
                                   JOptionPane.showMessageDialog(null, e);
                        }
            }

Sonra bu eklediğimiz veriler için birde listeleme methodu yapalım;

public static List<DepartmanDomain> listele() {

                        List<DepartmanDomain> liste = new ArrayList<DepartmanDomain>();
                        Connection conn = getConnection();
                        try {
                                   Statement stmt = conn.createStatement();
                                   ResultSet rs = stmt.executeQuery("SELECT * FROM departman");

                                   while (rs.next()) {

                                               DepartmanDomain siradakiDepartmanDomain = new DepartmanDomain();
                                               siradakiDepartmanDomain.setId(rs.getInt("id"));
                                               siradakiDepartmanDomain.setDepartmanAdi(rs
                                                                       .getString("departmanAdi"));
liste.add(siradakiDepartmanDomain);
                                   }

                                   stmt.close();
                                   conn.close();
                        } catch (SQLException e) {

                                   e.printStackTrace();
                        }

                        return liste;
            }

Ardından bu listeleme methodunu JComboBox’ın içersinde çağıralım.
Şu şekilde;

final JComboBox departmanBox = new JComboBox(DepartmanDao.listele()
                                               .toArray());


İşte bize lazım olan ana kodumuzu yazıyorum…

DepartmanDomain secilenDepartman = (DepartmanDomain) departmanBox
                                                        .getSelectedItem();

İşte yaptığımız bu Cast olayı ile departmanBox’ta bulunan verilerin sütununu öğreniyoruz.
Sonra domain yardımı ile hangi sutunu almak istiyorsak o sutunu ekrana basıyoruz.

System.out.println(secilenDepartman.getId());



Kısaca JComboBox’ta bulunan verilerin sutunu bu şekilde tespit edilir. 

NOT BU MAKALE EMRAH DEDEOĞLU TARAFINDAN YAZILMIŞTIR, İÇERİSİNDE Kİ ÖRNEKLER DENENMİŞTİR VE OLUMLU SONUÇLAR ALINMIŞTIR.
Share on Google Plus

About eclipseturkiye

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

4 yorum:

  1. Güzel çalışma emeğine sağlık.

    YanıtlaSil
  2. çalışma için emeğinize sağlık. fakat şöyle bir sorunum var benim. NetBeans ile bir proje hazırlıyorum. JComboBox içerisine MySql veritabanından verileri alıyorum fakat, içerisine veri aldığım JComboBox nesnesininde bir olay yordamı var. Yani içerisine aldığım araç plakası bilgilerden birisi seçiliğinde o araca ait bilgileri çıkıyor.Şimdi sorun şurada başlıyor.Ben MySql bağlantısını açtım. (Bilgileri tek tek okutarak alıyorom bu arada). Veriler içerisine girmeye başladığı anda JComboBox ta kendi olay yordamını çalıştırmaya başlıyor. Bunun önüne nasıl geçebilirim.

    YanıtlaSil
    Yanıtlar
    1. Şimdi buradan bir şey söylemek mümkün değil. Çok katmanlı mimariye göre çalışıyorsanız eğer olay şundan ibarettir...

      for(AracDomain secilenArac : DatabaseBaglantisiDao.listele()){

      aracBox.addItem(secilenArac.getPlaka());
      }

      olması gerek.
      Ama şu anda nasıl bir programlama yapınız var bilmiyorum
      Ama get ve set metotları ile bu işlem bu şekilde gerçekleşmektedir.

      Sil