Ehemmm....
Ni aq da sedikit Tutorial buat para pengemar program....Seperti aQu..!??
awalnya aq juga bingung banget mengenai koneksi java ke database....nah sekarang aQ dah ngerti jadi aQ pengen share ke temen2 smua yang belom begitu faham mengenai coneksi ni....
Di sini I pakek database oracle...
Q pakek user HR ja yach biar enak di fahami. juga kita g perlu ribet2 lagi buat database.
Selanjutnya ni dech Q kasih tau caranya....?!!!
Ni bagi yang males ngetik
//----------------------------------------------------------------------------------------------------------------------------------
Connection con;
String url, db, driver, password;
public void connect(){
con = null;
db = ""; password=""; url=""; driver="";
db = "hr";
password = "hr";
url = "jdbc:oracle:thin:@localhost:1521:XE";
driver = "oracle.jdbc.driver.OracleDriver";
try{
Class.forName(driver);
}
catch(ClassNotFoundException cnfe){
System.err.println("Class driver tidak ada : "+cnfe.getMessage());
}
}
//-----------------------------------------------------------------------------------------------------------------------------------
Ni kode yang di tambahkan----
//----------------------------------------------------------------------------------------------------------------------------------- Statement stat;
ResultSet rs;
ResultsetTableModel model;
public void tampil(){
connect();
try {
con=DriverManager.getConnection(url,db,password);
stat= con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
String sql = "select * from jobs";
rs = stat.executeQuery(sql);
model = new ResultSetTableModel(rs);
JTable jTable = new JTable(model);
jTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
jTable.setSelectionBackground(Color.LIGHT_GRAY);
jScrollPane1.setViewportView(jTable);
} catch (SQLException ex) {
ex.printStackTrace();
}
}
//-----------------------------------------------------------------------------------------------------------------------------------
Ni kode nya
//-----------------------------------------------------------------------------------------------------------------------------------
tampil();
//-----------------------------------------------------------------------------------------------------------------------------------
Cari kode
public class ResultSetTableModel {
}
tambahi extends AbstractTableModel menjadi sepeti ini..
public class ResultSetTableModel extends AbstractTableModel{
//kode di bawah letakkan disini ok
}
Ni kodenya Tambahkan di antara kurung kurawalnya....
//-----------------------------------------------------------------------------------------------------------------------------------
private ResultSet rs;
public ResultSetTableModel(ResultSet rs) {
this.rs = rs;
fireTableDataChanged();
}
public int getColumnCount() {
try {
if(rs == null)
return 0;
else
return rs.getMetaData().getColumnCount();
}catch(SQLException e) {
//System.out.println("resultset generating error while getting column count");
//System.out.println(e.getMessage());
return 0;
}
}
public int getRowCount() {
try {
if(rs == null)
return 0;
else {
rs.last();
return rs.getRow();
}
}catch(SQLException e) {
//System.out.println("resultset generating error while getting rows count");
//System.out.println(e.getMessage());
return 0;
}
}
public Object getValueAt(int rowIndex, int columnIndex) {
if(rowIndex<0 || rowIndex > getRowCount() ||
columnIndex < 0 || columnIndex > getColumnCount())
return null;
try {
if(rs == null)
return null;
else {
rs.absolute(rowIndex+1);
return rs.getObject(columnIndex+1);
}
}catch(SQLException e) {
//System.out.println("resultset generating error while fetching rows");
//System.out.println(e.getMessage());
return null;
}
}
@Override
public String getColumnName(int columnIndex) {
try {
return rs.getMetaData().getColumnName(columnIndex+1);
} catch (SQLException e) {
//System.out.println("resultset generating error while fetching column name");
//System.out.println(e.getMessage());
}
return super.getColumnName(columnIndex);
}
//-----------------------------------------------------------------------------------------------------------------------------------
Nach gmana....!!!!???
Dach est aQ capek met mencoba ae..gampang kok....
Lo masih binggung tanya ae...
Comment ya....?!??
Met Tahun Baru 2011 Moga Sukses semua...
Ni aq da sedikit Tutorial buat para pengemar program....Seperti aQu..!??
awalnya aq juga bingung banget mengenai koneksi java ke database....nah sekarang aQ dah ngerti jadi aQ pengen share ke temen2 smua yang belom begitu faham mengenai coneksi ni....
Di sini I pakek database oracle...
Q pakek user HR ja yach biar enak di fahami. juga kita g perlu ribet2 lagi buat database.
Selanjutnya ni dech Q kasih tau caranya....?!!!
- Kita lihat dulu databasenya...
- Nach Sekarang kita masuk ke Netbeans nya. Trus buat project baru di file -- new project :: trus pilih java -- java Application --Next Lo binggung liat di gambarnya aje.....
- Trus kasih nama di project namenya....Misal di sini aQ pakek nama Tutorial trus klik Finish.
- Trus klik kanan di package yang telah kita buat tadi tutorial -- New --;Jframe Form
- Setelah itu hasilnya seperti ini.
- Nah Sekarang waktunya di design formnya....caranya ya tinggal di drag and drop aja....seperti di gambar yang paling penting tu ada jscrollpane untuk scroll dan untuk meletakkan jTablenya.
- Nach Ni Hasil dari design Q gimana..!!!
- Sekarang Kita masuk pada coding...hehee jagan pusing dulu klo denger kata coding...Lihat di kiri atasnya form yang telah kita buat ada Pilihan Source sama Design and klik yang source. Terus kasih Method atau tambahi code seperti ini.
Ni bagi yang males ngetik
//----------------------------------------------------------------------------------------------------------------------------------
Connection con;
String url, db, driver, password;
public void connect(){
con = null;
db = ""; password=""; url=""; driver="";
db = "hr";
password = "hr";
url = "jdbc:oracle:thin:@localhost:1521:XE";
driver = "oracle.jdbc.driver.OracleDriver";
try{
Class.forName(driver);
}
catch(ClassNotFoundException cnfe){
System.err.println("Class driver tidak ada : "+cnfe.getMessage());
}
}
//-----------------------------------------------------------------------------------------------------------------------------------
- Yang tu tadi fungsinya untuk koneksi saja trus gmana untuk nampilin datanya Lets Follow me.....tambahin lagi sourcenya di bawah yang kita buat di atas.dan jika ada error atau tu yang merah merah. klik aja di merah2nya dan pilih yang import. ampek gambarnya seperti ini
Ni kode yang di tambahkan----
//----------------------------------------------------------------------------------------------------------------------------------- Statement stat;
ResultSet rs;
ResultsetTableModel model;
public void tampil(){
connect();
try {
con=DriverManager.getConnection(url,db,password);
stat= con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
String sql = "select * from jobs";
rs = stat.executeQuery(sql);
model = new ResultSetTableModel(rs);
JTable jTable = new JTable(model);
jTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
jTable.setSelectionBackground(Color.LIGHT_GRAY);
jScrollPane1.setViewportView(jTable);
} catch (SQLException ex) {
ex.printStackTrace();
}
}
//-----------------------------------------------------------------------------------------------------------------------------------
- Setelah itu balik ke Design terus di Button yang di kasih nama Tampil tadi klik dua kali. terus isikan kode seperti di bawah ini.
Ni kode nya
//-----------------------------------------------------------------------------------------------------------------------------------
tampil();
//-----------------------------------------------------------------------------------------------------------------------------------
- Selesai untuk Formnya sekarang cara mengatasi yang masih merah2 tadi. yaitu lihat kembali langkah ke 4 tetapi sekarang kita buat class. yaitu klik kanan tutorial -- New -- java Class terus kasih nama dengan ResultSetTableModel
Cari kode
public class ResultSetTableModel {
}
tambahi extends AbstractTableModel menjadi sepeti ini..
public class ResultSetTableModel extends AbstractTableModel{
//kode di bawah letakkan disini ok
}
Ni kodenya Tambahkan di antara kurung kurawalnya....
//-----------------------------------------------------------------------------------------------------------------------------------
private ResultSet rs;
public ResultSetTableModel(ResultSet rs) {
this.rs = rs;
fireTableDataChanged();
}
public int getColumnCount() {
try {
if(rs == null)
return 0;
else
return rs.getMetaData().getColumnCount();
}catch(SQLException e) {
//System.out.println("resultset generating error while getting column count");
//System.out.println(e.getMessage());
return 0;
}
}
public int getRowCount() {
try {
if(rs == null)
return 0;
else {
rs.last();
return rs.getRow();
}
}catch(SQLException e) {
//System.out.println("resultset generating error while getting rows count");
//System.out.println(e.getMessage());
return 0;
}
}
public Object getValueAt(int rowIndex, int columnIndex) {
if(rowIndex<0 || rowIndex > getRowCount() ||
columnIndex < 0 || columnIndex > getColumnCount())
return null;
try {
if(rs == null)
return null;
else {
rs.absolute(rowIndex+1);
return rs.getObject(columnIndex+1);
}
}catch(SQLException e) {
//System.out.println("resultset generating error while fetching rows");
//System.out.println(e.getMessage());
return null;
}
}
@Override
public String getColumnName(int columnIndex) {
try {
return rs.getMetaData().getColumnName(columnIndex+1);
} catch (SQLException e) {
//System.out.println("resultset generating error while fetching column name");
//System.out.println(e.getMessage());
}
return super.getColumnName(columnIndex);
}
//-----------------------------------------------------------------------------------------------------------------------------------
- Yang terakhir tinggal nginputin Library oracle. Download Library
- Terus balik ke Netbeans pada package yang kita buat tadi pilih di Library klik kanan -- Add Jar/Folder
- Nach kemudian cari lokasi dari Library tadi -- Select semua -- Open.
- Nach liat di librarynya bertambahkan.
- Nah sekarang balik ke newFrame and Run atau tekan Shift + F6. And Klik button Tampil.
Nach gmana....!!!!???
Dach est aQ capek met mencoba ae..gampang kok....
Lo masih binggung tanya ae...
Comment ya....?!??
Met Tahun Baru 2011 Moga Sukses semua...
wah,.wah,..wah,..
ReplyDeletekurang jelas mz.say
tlng di jelasin lg,..
lebih jls n mudah di mngerti,..
lagunya bagus mz.say,..
ReplyDeletetak kirain pelangi2 alangkah indahmu,merah kuning hijau,..
bsk2 buat lg y.klau bs yg durasinya 1 jam skalian,.
Mz_Say :: perhatian lagu2 Q sekarang dah aQ tampung dalam 1 web site http://ignaple.co.cc/
ReplyDeletedi kunjungi ya....
pasti mantepp kok....