Senin, 16 Januari 2012

KONEKSI DATABASE ACCESS DENGAN JAVA (NETBEANS 6.7.1)

Buka Ms. Access.. Di sini saya pakai Ms Access 2007, Untuk membuat database baru, pilih pada New Blank Database, maka akan muncul seperti gambar berikut ini :
 
setelah new blank database di klik, di bagian samping bakalan muncul penampakan seperti berikut :

Silahkan kasih nama databasenya, di sini saya menamai database dengan “databaseku” dan di simpan di folder D:\DATABASE\ACCESS. Simpan dengan format Ms Access 2003 atau tipe database *.mdb.
Caranya, klik tombol folder terbuka di kanan nama database. Lalu ubah tipe file database ke database Access 2000-2003 (*.mdb) Seperti gambar di bawah ini:

Klik OK à Klik tombol Create. 
 
Kita klik tombol View di bawah bunderan di pojok kiri atas (Office button), Pilih Design View, kita akan diminta meng-Save tabel itu dulu,  dengan nama mahasiswa, klik ok

Sekarang coba kita buat field-field dan menentukan tipe datanya..
Setelah desain table. Kita kembali ke datasheet view, dengan cara klik view di bawah office button, pilih datasheet view.
Isikan record terserah anda ke dalam table.
MENGATUR KONFIGURASI ODBC

ODBC merupakan aturan yang digunakan untuk mengakses sebuah database. Dengan menggunakan ODBC ini maka akses ke sebuah database dapat dilakukan dengan menggunakan nama yang dikehendaki

Langkah-langkah konfigurasi ODBC adalah :
Buka Control Panel à  Administrative Tools à Data Sources (ODBC)



Klik tombol Add
 
Pilih driver Microsoft Access Driver (*.mdb,), terus Finish
 
Isi Data Source name dengan nama terserah anda (dsnjava), untuk description boleh dibiarkan kosong.
Klik tombol  Select,  cari posisi database yang tadi kita buat kemudian klik tombol OK.
 
 
Klik tombol Advance, untuk memberi password ODBC kita.
Isi Login admin terserah anda (contoh : admin) dan Password admin.
klik OK dan OK lagi untuk mengakhiri pengaturan ODBC.
MEMBUAT FORM SEDERHANA DI NETBEANS
UNTUK MENGAKSES DATABASE

Buka netbeans, :
Buat Project baru: File à New Project      Next..
Pilih Kategori Java, dan Project Java Application        Next..
Masukkan Nama Proyek.. di sini saya contohkan dengan nama ACCESS dan lokasi
penyimpanannya di D:\
Jangan lupa hilangkan tanda centang di bagian Create Main Class à Klik FINISH
 

Selanjutnya kita buat Package untuk proyek kita.. klik kanan default package à New à Java Package
 
Isi Package Name seperti di bawah ini :

Klik Finish.
Package baru kita akan terlihat di bagian Panel Projects:
Klik kanan package kita tadi (koneksi) , lalu pilih New à  Jframe Form
 
Sekarang coba kita buat form sederhana dengan komponen yang terdiri dari JTextField,
JLabel, dan JButton seperti di bawah ini:
 

Ubah masing-masing komponen dengan cara :
Klik kanan  – Change Variable Name - , lalu isikan nama variabelnya:
TextField untuk nama saya kasih nama variabel: txtnama
TextField untuk nim saya kasih nama variabel: txtnpm
TextField untuk Alamat saya kasih nama variabel: txtalamat
Button Tambah saya kasih nama variabel: bttambah
Button Ubah saya kasih nama variabel: btubah
Button Hapus saya kasih nama variabel: bthapus
Button Cari saya kasih nama variabel: btcari

Kemudian ... kita akan Memasukkan script sql ke dalam form.

MEMASUKKAN SCRIPT SQL KE DALAM FORM

Pertama, kita pasangkan Event Handler buat tombol Tambah kita, caranya begini:
Klik kanan tombol Tambah kita, pilih Events à Action à actionPerformed
Setelah itu kita akan dibawa ke dalam jendela editor, di sini kita bisa melihat source code dari form kita.
Nah.. kita akan memasukkan kode untuk tombol tambah diantara kode berikut ini:

private void btTambahActionPerformed(java.awt.event.ActionEvent evt)
{
// di sini adalah letak kode sql kita nanti
}
Tapi sebelumnya kita coba tes dulu koneksi ke database.

TEST KONEKSI KE DATABASE

Di package koneksi, kita buat sebuah class baru dengan nama Koneksi.java
Kita isi class tersebut dengan kode di bawah ini:

package koneksi;
import java.sql.*;
import javax.swing.*;
/**
 *
 * @author ttg
 */

public class koneksi {
void testKoneksi()
{
try
{
String dbname="jdbc:odbc:dsnjava"; // nama ODBC
// ingat-ingat, CobaDatabase adalah nama ODBC kita yang udah kitaatur sebelumnya
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(dbname,"Admin","admin");
// user n passwordnya
// user database samakan dengan yang kita atur di ODBC tadi, yaitu
// 'Admin', dengan password 'admin'
JOptionPane.showMessageDialog(null, "Koneksi berhasil","Insert Data",JOptionPane.INFORMATION_MESSAGE);
con.close();
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE);
}
}
public static void main (String args[])
{
koneksi test = new koneksi();
test.testKoneksi();
System.exit(0);
}
}

Setelah itu coba run file class tersebut.. (Shift + F6)
Kalau sudah benar, maka akan terdapat tampilan JoptionPane seperti berikut ini:
 
Perlu diingat bahwa :
String dbname="jdbc:odbc:dsnjava";  adalah menentukan nama data source (DSN) yang sudah kita deklarasikan di ODBC tadi.
Connection con = DriverManager.getConnection(dbname,"Admin","admin");
Nah, yang ini adalah user dan password database kita, yang juga sudah kita deklarasikan saat membuat Data Source di ODBC tadi,
Username: Admin
Password: admin


MEMASUKKAN DATA KE DATABASE (INSERT)

Setelah berhasil koneksi ke database kita, sekarang saatnya menggunakan form kita tadi untuk insert data ke database.

Pada Event yang telah kita buat untuk tombol Tambah tadi, kita isi dengan kode berikut ini:

private void bttambahActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:

String npm = txtnpm.getText();
String nama = txtnama.getText();
String alamat = txtalamat.getText();
try
{
String dbname="jdbc:odbc:dsnjava";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(dbname,"Admin","admin");
Statement statement = con.createStatement();
String sql="insert into mahasiswa values('"+npm+"','"+nama+"','"+alamat+"');";
statement.executeUpdate(sql);
statement.close();
JOptionPane.showMessageDialog(null, "Data berhasil dimasukkan..","Insert Data",JOptionPane.INFORMATION_MESSAGE);
txtnpm.setText("");
txtnama.setText("");
txtalamat.setText("");
//txtnpm.setFocusable(rootPaneCheckingEnabled);
con.close();
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE);
//System.err.println("Exception: "+e.getMessage());
}
    }                                  


Setelah itu coba run form kita tadi..







Isi JTextField-JTextField nya dengan data yang dikehendaki
Kemudian klik tombol tambah
Kita lihat hasilnya à Buka database access yang kita buat. Apakah data sudah masuk atau belum.




MENCARI DATA  DAN MENAMPILKANNYA DI FORM

Tambahkan event buat tombol cari ini, kemudian isi dengan kode berikut:

private void btcariActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:

        String npm = txtnpm.getText();
try
{
String dbname="jdbc:odbc:dsnjava";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(dbname,"Admin","admin");
Statement statement = con.createStatement();
String sql="SELECT * FROM mahasiswa WHERE npm like '"+npm+"'";
 ResultSet rs = statement.executeQuery(sql);
if (rs.next())
{
txtnama.setText(rs.getString(2));
txtalamat.setText(rs.getString(3));
JOptionPane.showMessageDialog(null, "Data ditemukan","Insert Data",JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(null, "Data tidak ditemukan ","Insert Data",JOptionPane.INFORMATION_MESSAGE);
}
statement.close();
con.close();
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "Eror:"+e,"Gagal",JOptionPane.WARNING_MESSAGE);
//System.err.println("Exception: "+e.getMessage());
}
    }                                     
Coba anda jalankan dan lihat hasilnya :


Masukkan NPM, lalu klik tombol Cari.
UBAH DATA 

Edit data digunakan apabila kita ingin melakukan perubahan terhadap data yang sudah ada di database kita.

Tambahkan kode berikut ini pada tombol ubah :

    private void btubahActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:

        String npm = txtnpm.getText();
String nama = txtnama.getText();
String alamat = txtalamat.getText();
try {
String dbname="jdbc:odbc:dsnjava";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(dbname,"Admin","admin");
Statement statement = con.createStatement();
String sql="UPDATE mahasiswa SET NAMA='"+nama+"', ALAMAT='"+alamat+"' WHERE npm LIKE '"+npm+"'";
statement.executeUpdate(sql);
statement.close();
JOptionPane.showMessageDialog(null, "Data berhasil diedit..","Insert Data",JOptionPane.INFORMATION_MESSAGE);
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE);
//System.err.println("Exception: "+e.getMessage());
}
    }                             

Coba jalankan dan lihat hasilnya
HAPUS DATA

Tambahkan kode berikut ini pada tombol Hapus :

private void bthapusActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:

        String npm = txtnpm.getText();
try {
String dbname="jdbc:odbc:dsnjava";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(dbname,"Admin","admin");
Statement statement = con.createStatement();
String sql="DELETE FROM mahasiswa WHERE Npm LIKE '"+npm+"'";
statement.executeUpdate(sql);
statement.close();
txtnpm.setText("");
txtnama.setText("");
txtalamat.setText("");
JOptionPane.showMessageDialog(null, "Data berhasil dihapus..","Insert Data",JOptionPane.INFORMATION_MESSAGE);
con.close();
} catch (Exception e) { JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE);
//System.err.println("Exception: "+e.getMessage());
}
    }                                       
 Sumber : ilmu_tatang.ucoz.com







3 komentar:

  1. mz. ko qu nyoba error ya..? keluarnya gini :eror.java.sql.SQLException:[microsoft]ODBC MIcrosoft Access Driver]Syntax error in string in query expression 'nip like'.
    kira-kira kesalahannya bagian mana ya mz..?
    pdahal di database ms. accessnya yng nip udh tak atur bentuk number. kohon penjelasannya. :)
    thanks

    BalasHapus