Java ‘da Veritabanından Verileri Çekme JTable ‘a Ekleme

Sınavdan sınava ders çalışmaya başladıkta bir şeyler paylaşıyorum sizinle.

Bu örnekte Ecir hocanın derste yaptığı örneği paylaşacağım.

Bu örnekte butona tıklandığında veritabanındaki tabloya bağlanıp verileri JTable ‘a ekliyor, daha sonra JTable üzerindeki her hangi bir satıra tıklayınca bu satırdaki verileri 2. 3. ve 4. olanını JTextField’lere eklemeler yapıyor.

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db","root","root"); //Mysql sunucusuna bağlandık
            Statement st = (Statement) con.createStatement();
            try (ResultSet rs = st.executeQuery("Select * from tablo")) { //Veritabanındaki tabloya bağlandık
                int colcount = rs.getMetaData().getColumnCount(); //Veritabanındaki tabloda kaç tane sütun var?
                DefaultTableModel tm = new DefaultTableModel(); //Model oluşturuyoruz
                for(int i = 1;i<=colcount;i++)
                    tm.addColumn(rs.getMetaData().getColumnName(i)); //Tabloya sütun ekliyoruz veritabanımızdaki sütun ismiyle aynı olacak şekilde
                while(rs.next())
                    {
                        Object[] row = new Object[colcount];
                        for(int i=1;i<=colcount;i++)
                            row[i-1] = rs.getObject(i);
                        tm.addRow(row);
                    }
                jTable1.setModel(tm);
            }
            con.close();
        } catch (ClassNotFoundException | SQLException hata) {
            Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, hata);
        }
    }
    private void jTable1MousePressed(java.awt.event.MouseEvent evt) {
        int satir = jTable1.getSelectedRow(); //Seçilen satırı bulduk
        jTextField1.setText(String.valueOf(jTable1.getValueAt(satir,1)));
        jTextField2.setText(String.valueOf(jTable1.getValueAt(satir,2)));
        jTextField3.setText(String.valueOf(jTable1.getValueAt(satir,3)));
    }

Basit şekilde veritabanı işlemi yapmak isteyenlere göre oldukça kullanışlı ve anlaşılır bir örnek oldu.



6 Responses (Add Your Comment)

  1. bu kod güzel ve çalıştı. anlamadığım for {} parantezleri olmadan kullanılması. parantezleri koyunca olmuyor bir veriyi count kadar çekiyor. parantezsiz kullanımda faydası ne oluyor.

  2. @hacamat parantezsiz kullanımlarda tek bir satır çalıştırabilirsin.

    Faydası ise gereksiz ifadeleri en az kullanımla okunabilirliği artırmaktır.

  3. birde bunun veriler içinde arama yapıp bulduğu sonuçları j table’a atanını yazsanız süper olur

  4. Stajer öğrenci Ağustos 1, 2014
    at 10:17

    Teşekkürler, çok işime yaradı :)

  5. tesekkurler..

Trackbacks:

Leave a Reply

Formatting: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Other Entries

Kategoriler