Kısaca sorunum, jdbc'yi kullanarak textfield'lardan aldığım verileri insert ediyorum. Ancak daha sonra jtable ile oluşturduğum tablomu listelerken yeni eklediğim veri tablomda yok. Uygulamayı kapatıp tekrar açtığımda tabloda yer alıyor. Tablonun güncelliğini nasıl sağlayabilirim?

//Veri Tabanı için oluşuturduğum sınıfdan JTable olarak döndürdüğüm method

public JTable SQLOku() {
    con = Baglan();
    JTable tablo = new JTable();

    ResultSet restables=null;
    ResultSet resrows;
    Statement stmt=null;

    try {
        stmt = con.createStatement();
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
    try {
        resrows = stmt.executeQuery("SELECT * FROM Stok");
        ResultSetMetaData rowdata= resrows.getMetaData();
        int j = 0; int i = 0,say = 1;
        int col = rowdata.getColumnCount();
        int k=rowdata.getColumnCount();
        String[] kolon = new String[k];
        for( j=0;j<k;j++) {
            kolon[j]=rowdata.getColumnName(j+1);
        }
        tablo.setModel(new javax.swing.table.DefaultTableModel(new Object [][] {},new String [] {}));
        DefaultTableModel model=(DefaultTableModel)tablo.getModel();
        model.setColumnIdentifiers(kolon);
        while(resrows.next()) {
            Object[] o=new Object[k];
            for(j=0;j<k;j++) {
                o[j]=resrows.getObject(j+1);
            }
            model.addRow(o);
        }
        tablo.setModel(model);
    } catch (SQLException ex) {
    ex.printStackTrace();
    }
    return tablo;
}

//Tablomun görünümünü sağlayan Form sınıfım daki kod parçası

//ortaPanelListele
    ortaPanelListele = new JPanel();
    ortaPanelListele.setBorder(BorderFactory.createTitledBorder("Stok Listele"));
    ortaPanelListele.setLayout(new BorderLayout());
    toolBar = new JToolBar();
    stokTablo = data.SQLOku();
    ortaPanelListele.add(toolBar, BorderLayout.NORTH);
    ortaPanelListele.add(new JScrollPane(stokTablo), BorderLayout.CENTER);

Action nesnesi oluşturup ekleme-guncelleme-silme işlemlerimi yaptığım butonlara action nesnesini ekleyip devamlı güncellemeyi sağlatabilir miyim diye düşünüyorum?

Bu konuda yardımcı olursanız sevinirim.

soruldu: 21 Mar '13, 05:59

igundu91's gravatar image

igundu91
214242933
cevap kabul oranı: 20%

değiştirildi: 21 Mar '13, 06:01


Tabloya verileri getiren bir metodun vardır elbet yoksa öyle ayrı bir metod yaz, her insert ardından git metodu çağır.

Birde her seferinde jTable nesnesini oluşturma onu public değişken olarak tanımla yukarıda, aşağıda bu desğişken içine doldurduğun SQLOku metodu ile verilerini güncelle.

permanent link

cevaplandı: 21 Mar '13, 06:22

Turgay%20Can's gravatar image

Turgay Can
8.3k63798
cevap kabul oranı: 18%

değiştirildi: 21 Mar '13, 06:27

SQLOku() methodu geriye JTable nesnesi döndürüyor. Form sınıfı içerisinde SQLOku() methodundan dönen JTable kendi stokTablo nesnesine iliştiriyorum. Oradan stokTablo = data.SQLOku(); ortaPanelListele.add(toolBar, BorderLayout.NORTH); ortaPanelListele.add(new JScrollPane(stokTablo), BorderLayout.CENTER); böyle bir şey yapıyorum.

(21 Mar '13, 06:38) igundu91 igundu91's gravatar image

döndürsün, sen nesneyi her seferinde yaratıyorsun buna gerek yok, public olarak yukarıda tanımla bir kere sonrada aşağıda yine jtable dönersin.

(21 Mar '13, 06:39) Turgay Can Turgay%20Can's gravatar image

evet onu dediğiniz gibi yaptım. TEşekkür ederim. Çok sağolun. :)

(21 Mar '13, 06:54) igundu91 igundu91's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,077
×15
×11

Soruldu: 21 Mar '13, 05:59

Görüntüleme: 1,740 kez

Son güncelleme: 21 Mar '13, 06:57

powered by BitNami OSQA