jTable Java

selamat malam agan-agan, perkenalkan saya arif, saat ini saya lagi belajar menggunakan java.

yang jadi permasalahan saya adalah bagaimana caranya supaya jTable pada Java hanya menampilkan satu baris data saja ketika data yang sama terinput dan disaat yang bersamaan jumlah barang dan harga barang ikut bertambah

contoh gambar sudah saya sertakan, data yang sama sudah terinput tapi jTable terus menampilkan data tersebut pada baris berikutnya.

mohon pencerahannya agan-agan.

avatar ariflanitaman1
@ariflanitaman1

21 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

6 Jawaban:

logikanya sih cari dulu barang yang akan diinput sudah ada di jtable atau tidak, kalau sudah ada cari index ke berapa, kalau sudah ketemu indexnya update jumlah barang di jtable dan update nilai total. btw ketika data masuk ke jtable, apakah data juga masuk ke database?

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

iya gan, data yang masuk di jTable semua dipanggil dari database, ada contoh coding nggak gan biar ane lebih paham cara melogikakan ke dalam program

avatar ariflanitaman1
@ariflanitaman1

21 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

coba codingan agan taruh dimari, waktu insert barang ke jtable

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

stmt    = con.createStatement();
sql     = "SELECT * FROM tabel_barang WHERE id_barang = '"+new String(readBuffer)+"'";
rs      = stmt.executeQuery(sql);

while(rs.next())
{
     obj[0] = rs.getString("id_barang");
     obj[1] = rs.getString("nama_barang");

     int tampung_id_barang     = Integer.parseInt (rs.getString("id_barang"));
     int tampung_jumlah_barang = Integer.parseInt (rs.getString("jumlah_barang"));
     int tampung_harga_barang  = Integer.parseInt (rs.getString("harga_barang"));

     stmt1   = con.createStatement();
     sql1    = "INSERT INTO tabel_pembelian (id_pembelian, id_barang_pembelian, total_jumlah_barang, subtotal) VALUES (NULL, '"+tampung_id_barang+"', '"+tampung_jumlah_barang+"', '"+tampung_harga_barang+"')";
     stmt1.executeUpdate(sql1);
                }

     stmt2   = con.createStatement();
     sql2    = "SELECT COUNT(total_jumlah_barang) FROM tabel_pembelian WHERE id_barang_pembelian='"+new String(readBuffer)+"'";
     rs1     = stmt2.executeQuery(sql2);

     while(rs1.next())
     {
          obj[2] = rs1.getString(1);
     }

     stmt3   = con.createStatement();
     sql3    = "SELECT SUM(total_jumlah_barang*subtotal) FROM tabel_pembelian WHERE id_barang_pembelian='"+new String(readBuffer)+"'";
     rs2     = stmt3.executeQuery(sql3);

     while(rs2.next())
     {
         obj[3] = rs2.getString(1);
     }

ini gan contoh coding yang ane punya,mohon pencerahannya gan @dianarifr

avatar ariflanitaman1
@ariflanitaman1

21 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

kurang lebih seperti ini logikanya

 stmt    = con.createStatement();
sql     = "SELECT * FROM tabel_barang WHERE id_barang = '"+new String(readBuffer)+"'";
rs      = stmt.executeQuery(sql);

while(rs.next())
{
     obj[0] = rs.getString("id_barang");
     obj[1] = rs.getString("nama_barang");

     int tampung_id_barang     = Integer.parseInt (rs.getString("id_barang"));
     int tampung_jumlah_barang = Integer.parseInt (rs.getString("jumlah_barang"));
     int tampung_harga_barang  = Integer.parseInt (rs.getString("harga_barang"));

     stmt1   = con.createStatement();
     sql0 = "select count(id_barang_pembelian) as ada where id_barang_pembelian = '"+tampung_id_barang+"' ";
     rs0 = stmt1.executeQuery(sql0);

     if(rs0.getString(1) > 0) { //barang sudah ada, maka update
          sql1    = "UPDATE tabel_pembelian SET total_jumlah_barang += '"+tampung_jumlah_barang+"', subtotal += '"+tampung_harga_barang+"' WHERE id_barang_pembelian = '"+tampung_id_barang+"')";
          stmt1.executeUpdate(sql1);
     }else{ //barang blm ada, maka insert
          sql1    = "INSERT INTO tabel_pembelian (id_pembelian, id_barang_pembelian, total_jumlah_barang, subtotal) VALUES (NULL, '"+tampung_id_barang+"', '"+tampung_jumlah_barang+"', '"+tampung_harga_barang+"')";
     stmt1.executeUpdate(sql1);
     }

                }

     stmt2   = con.createStatement();
     sql2    = "SELECT COUNT(total_jumlah_barang) FROM tabel_pembelian WHERE id_barang_pembelian='"+new String(readBuffer)+"'";
     rs1     = stmt2.executeQuery(sql2);

     while(rs1.next())
     {
          obj[2] = rs1.getString(1);
     }

     stmt3   = con.createStatement();
     sql3    = "SELECT SUM(total_jumlah_barang*subtotal) FROM tabel_pembelian WHERE id_barang_pembelian='"+new String(readBuffer)+"'";
     rs2     = stmt3.executeQuery(sql3);

     while(rs2.next())
     {
         obj[3] = rs2.getString(1);
     }
avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

terima kasih banyak responnya gan, sangat membantu

avatar ariflanitaman1
@ariflanitaman1

21 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban