19 Mei 2014

Mencari data pada table dengan Java

Setelah kami posting status pada halaman fanspage kita, ada request kode dari Fendy Linardi. Yaitu ... thumbnail 1 summary
Setelah kami posting status pada halaman fanspage kita, ada request kode dari Fendy Linardi. Yaitu mencari data pada table , saya pun tidak tahu pasti apakah ini yang dimaksud apa tidak hehehe..



Ok, logikanya mencari data berdasarkan field table. Cukup sederhana caranya, kita hanya menggunakan query pencarian seperti Select * from table Where field LIKE 'value%' and field2 LIKE 'value2%'

Oh ya, pertama sekali yang sangat penting saya menggunakan library sendiri untuk pengolahan database MySQL (anda bisa melihat pada source code).

Penggunaannya mudah kok, setelah anda import database yang ada dalam paket download maka bukalah Netbeans (saya memakai 7.3) dan Open Project lalu pilih icon gambar cangkir :D
Untuk konfigurasinya , bukalah Package Class, lalu lihat DBFunction .java . Cek kode berikut ini :

public class DBFunction {
    private DefaultTableModel model;
    public ResultSet r;
    public static String host="localhost";
    public static String usr="root";
    public static String pwd="";
    public static String dbs="tesdata";
nah, anda tinggal konfigurasikan sesuai server mysql anda :)

Next, kita lanjut ke Form nya langsung (Buka kode editor Cari.java) :D

Untuk menggunakan class yang saya buat, cukup menambahkan :
import Class.DBFunction; di bawah package Form

Ada 2 void (fungsi) yang saya gunakan di sini :
private void loadtable(){
        DBFunction s=new DBFunction();
        s._bindingTable("Select * from obat", jTable1);
    }
private void caridata()
    {      
        String kode=this.jTextField1.getText();
        String nama=this.jTextField2.getText();
         DBFunction s=new DBFunction();
        s._bindingTable("Select * from obat Where kode_Obat LIKE '"+kode+"%' "
                + "and nama_obat LIKE '"+nama+"%'", jTable1);
   
    }

- Void loadtable digunakan untuk mengambil data dari database mysql lalu ditampilkan di table java. Biasanya bikin ginian berapa baris hayoooo??? nah, dengan library saya tersebut, anda bisa membuatnya hanya dengan 2 baris saja :D
Setelah void loadtable berfungsi dengan baik, saya menggunakannya pada main load (Public Cari) , main load ini dijalankan saat form tersebut ditampilkan.
public Cari() {
        initComponents();
        //AMBIL DATA KE TABLE
        loadtable();
    }
- Void caridata ini sama dengan loaddata tersebut, hanya saja menambahkan query yang sesuai untuk pencarian data.
Pertama sekali mesti mendapatkan data JTextfield1 (pencarian kode) dan JTextfield2 (pencarian nama) :
String kode=this.jTextField1.getText();
String nama=this.jTextField2.getText();
Lalu dibikinlah query pencariannya :
"Select * from obat Where kode_Obat LIKE '"+kode+"%' "
                + "and nama_obat LIKE '"+nama+"%'", jTable1
Contoh output sql query di atas adalah adalah
Select * from obat Where kode_obat 'B00%' and nama_obat 'Ma%'
Jadi saya mencari kode obat dengan 3 awalan B00 dan nama obat 2 awalan Ma. Sekarang jalankan aplikasi dengan menekan F6, startup form Cari.java
ketikkan B00 pada inputan kode obat dan Ma pada inputan nama obat  , lalu tekan Enter. Lihat hasilnya  
Jika anda melihat tanda % pada query, itu menandakan huruf/angka dicari setelahnya
jika % ada dua ex. '%B00%' maka semua huruf/angka dicari atau '%0' maka huruf/angka dicari awalannya.

Ok, begitulah artikel saya kali ini, silahkan bertanya jika ada yang kurang dimengerti.
Saya masih menerima request artikel, terus ikuti halaman fanspage kita ya :)