Arama butonu
Bu konudaki kullanıcılar: 1 misafir
11
Cevap
916
Tıklama
0
Öne Çıkarma
Java da Jtable daki bilgileri direk olarak veri tabanına çekmek.
U
7 yıl
Çavuş
Konu Sahibi

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.

Üye Ol Şimdi Değil



G
7 yıl
Yarbay

Javayla ilgilemiyorm Direkt eklemeyi yapıyorsanız bence diğer türlü de yapmanız lazım atıyorum bi buttonda tableA ekleme kodları olsun ama veritabanına yazmasın diğer buttonda bir loop yardımıyla tableın tümünü oku onu yine loopla veritabanına yazdır



< Bu ileti mobil sürüm kullanılarak atıldı >

U
7 yıl
Çavuş
Konu Sahibi

Ö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ı. Acemilik her işte olduğu gibi bu işte de zor malesef. Cevap için çok sağolun bu arada tekrardan uğraşıcam. Eğer bulursam kodları bu sayfa altında paylaşıcam. Tecrübeli arkadaşlardan da yardım bekliyorum bu arada



P
7 yıl
Çavuş

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 ?



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
U
7 yıl
Çavuş
Konu Sahibi

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.




Bu mesajda bahsedilenler: @pir2xh
G
7 yıl
Yarbay

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



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
U
7 yıl
Çavuş
Konu Sahibi

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.




Bu mesajda bahsedilenler: @Gökşen PASLI
U
7 yıl
Çavuş
Konu Sahibi

İ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.



U
7 yıl
Çavuş
Konu Sahibi

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ı");
}

}


Bu mesaja 1 cevap geldi.
U
7 yıl
Çavuş
Konu Sahibi

quote:

Orijinalden alıntı: ugursalkimtas

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ı");
}

}
İlkinde "Class.forName("com.mysql.jdbc.Driver"); " komutunu yazmamıştım. Çünkü en başta bağlantı metodunda tanımlamıştım. Ancak sebebini tam anlayamadığım şekilde bu kodu yazmadığım sürece hata alıyorum.



U
7 yıl
Çavuş
Konu Sahibi

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);

}


}



U
7 yıl
Çavuş
Konu Sahibi

Umarım bu bilgiler yine aynı problemleri yaşayan arkadaşlara da yardımcı olur.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.