1. sayfa
O tip işlerde klasik olarak tek twk kayıt eklenir gridde veya jtable da güncelle diye bir button olur her satırda güncelleme yaparsın bu şekil işine yaramıyor mu |
Herkese yine beyin yakan sorularla merhabalar:). Arkadaşlar acaba java da swing kütüphanesi üzerinden JTable üzerindeki bilgileri direk olarak veri tabanına eklemek mümkün müdür?. Yani yapmak istediğim şey şu misal olarak ben 10 malzeme ekledim. Jtable da görünüyor. Bu malzemeleri önce Jtable üzerinde görüp güncelledikten sonra toplu olarak nasıl MySql verği tabanına aktarabiliriz? Direk eklemede bir sıkıntı yok ancak tekrar diyorum ben jtable üzerinden eklemeye çalışıyorum. Bunu nasıl yapabilirim acaba? ? ? Bilen arkadaşlar varsa ve cevaplarsa çok çok sevinirim herkese iyi forumlar![]() |
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Öncelikle vakit ayırıp cevap yazdığınız için çok teşekkürler.Bende tamda dediğiniz gibi hazırladım.Yani bir buton ile veri tabanına eklemeden table'a verileri aktarıyorum ancak table bilgilerini direk olarak veri tabanına aktaramıyorum bir türlü. Java yı yeni öğrendim sayılır. Çok fazla yabancı site gezdim sadece stack adlı bir sitede buldum ancak oradaki yöntemde işe yaramadı![]() ![]() |
Hocam sen zaten bi veriyi table’a atıyorsan o veri senin elindedir. Atıyorum string a değerini tablonun 1. Sütununa at derken aynı zamanda veri tabanına atıver. Niye tabloya atıp , tablodan tekrar çekip veri tabanına atmak istiyorsun ki ? |
Yani şundan dolayı aslında mesela ben bir veri girdim.Misal : Ürün Adı Fiyat Kategori Parfüm 100 TL Kozmetik Dell laptop 2500 TL Elektronik - Burada misal parfüm fiyatını yanlış girdi. Bunun için de aynı menüde bu seçeneği güncellemek istiyorum malzemeleri depoya göndermeden önce. O yüzden dolayı önce verileri Jtable üzerinde görüp sonra Jtable daki verileri Mysql veri tabanına göndermek istedim. Diğer türlü direk olarak veri tabanına çekebiliyorum zaten. İnternet de yabancı siteleri ve forumları araştırdım. Ancak bu sorunun tam bir cevabını verememişler. Zaten bulamazsam dediğiniz gibi yapıcam direkmen cevap için çok teşekküreler. |
Yani aslında olabilir o şekilde de.Ancak ben giriş yaptıktan sonra önce kontrol edip sonra veri tabanına göndermesini istedim. Çok şükür ki 20dk önce sorunu çözdüm. Söz verdiğim gibi yaptığım işlemleri tek tek anlatacağım aşağıda.![]() |
İlk olarak bir tane swing ile Jframe ve ardından Jtable oluşturdum. Ekle-sil-düzelt butonlarını ekledim. Bu sayede kişi girdiği verileri table üzerine ekliyor. Misal Ürün Adı fiyat Kategori Parfüm 100 TL Kozmetik Dell laptop 2500 TL Elektronik gibi.. daha sonra da bu Jtable üzerindeki bilgileri direk olarak Mysql veri tabanına gönderiyoruz. Bunu da öncelikle getConnection adlı bir class oluşturdum. Burada gerekli olan Connection,PreparedStatement,Statement,ResultSet leri tanımlıyorum. Ve burada da yeni bir metod oluşturdum. |
public void add_new_goods(String kategori, String adi, String fiyati) { String query= "Insert Into `stockfallow` (kategori, adi, fiyati) VALUES(?,?,?)"; try { pr = con.prepareStatement(query); Class.forName("com.mysql.jdbc.Driver"); pr.setString(1, kategori); pr.setString(2, adi); pr.setString(3, fiyati); pr.executeUpdate(); } catch (SQLException ex) { System.out.println("Malzeme eklenirken bir hata oluştu"); } catch (ClassNotFoundException ex) { System.out.println("Dosya bulunamadı"); } } |
|
Daha sonra da Jframe'e eklediğim depoya gönder butonuna da aşağıdaki event'i ekledim private void bt_acces_sendActionPerformed(java.awt.event.ActionEvent evt) { for (int i = 0; i < tbl_table.getRowCount(); i++) { String kategori= (String) tbl_table.getValueAt(i, 0); String adi= (String) tbl_table.getValueAt(i, 1); String fiyati= (String) tbl_table.getValueAt(i, 2); getConnections1.add_new_goods(kategori, adi, fiyati); } } |
Umarım bu bilgiler yine aynı problemleri yaşayan arkadaşlara da yardımcı olur. ![]() ![]() |
1. sayfa
< Bu ileti mobil sürüm kullanılarak atıldı >