Kamis, 14 Juli 2011

Fundamental Koneksi Database

Pembaca blog yang budiman, sekarang kita akan membahas sebuah topik yang sangat menarik untuk diperbincangkan, yaitu koneksi database dalam vb.net. ibarat seorang pendekar, koneksi database merupakan sebuah jurus dasar untuk programming database, lalu kuda-kudanya mana?

Pada dasarnya untuk melakukan operasi database ada beberapa tahap yang harus kita lakukan :

  1. Mendefinisikan database yang akan digunakan

  2. Membuka Koneksi database

  3. Mengeksekusi perintah kedalam database

  4. Menutup Koneksi database


Sekarang kita akan membuat database dari Microsoft Access sebagai contoh, kenapa kita menggunakan Microsoft Access? Karena sepertinya untuk belajar menggunakan database, database yang mudah untuk digunakan adalah Microsoft Access (disingkat MS Access saja ya), untuk kedepannya kita dapat menggunakan MS SQL Server, Mysql Serverl, Postgre SQL, Firebird, Oracle dan lain-lain, yang penting adalah konsepnya dapat kita mengerti, seperti kita belajar mengendari motor, kita bejar dari motor yang matic (tinggal gas trus rem), jika sudah mengerti menggunakannya kita dapat menggunakan motor bebek lalu ke motor kopling. Demi menjaga konsistensi tutotial fundamental ini, maka tutorial membuat databasenya kita sisihkan di LINK INI.

Sekarang kita terapkan langkah-langkah diatas kedalam bentuk Sytax VB.NET
Langkah pertama adalah mendefinisikan database yang akan digunakan, disini yang akan kita gunakan adalah MS Access, jadi koneksi string yang akan kita gunakan adalah :
Dim
strcon As String
strcon ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=resto.mdb;"

Dan library yang akan kita gunakan adalah :
system.data.OleDb
Untuk koneksi database yang lain dapat dilihat di :
- LINK
- LINK
- LINK

Kemudian kita buka koneksi database agar kita dapat masuk kedalam database dan melakukan operasi dalam database
Dim con As New OleDbConnection
con.ConnectionString = strcon
con.Open()

Setelah database terbuka kita bebas melakukan apapun di dalam database, apa pun? Bener apa pun, mau tambah data, ubah data, hapus data, bukan bebas yang aneh-aneh ya :) . Sebagai contoh, kita akan memasukkan data menu kedalam tabel menu. Tabel menu memili beberapa kolom, diantarnya :
- ID , String
- Nama, String
- Harga, Number

Maka kita menggunakan perintah INSERT untuk memasukkan data kedalam database.

ada baiknya kita membaca tutorial tentang SQl pada tutorial <SQL Right tutorial>, agar lebih memahami perintah-perintah SQL.
"INSERT INTO menu (id,nama,harga) VALUES ('001','Gado-Gado',5000)"
Syntax di atas adalah syntax untuk memasukkan data kedalam tabel menu dengan id=001, nama=gado-gado, dan harga=5000.

Sekarang kita terapkan kedalam syntax VB.NET
Dim cmd As New OleDbCommand
cmd.Connection = con
cmd.CommandType = CommandType.Text
cmd.CommandText = "INSERT INTO menu (id,nama,harga) VALUES ('001','Gado-Gado',5000)"
cmd.ExecuteNonQuery()

Langkah terakhir adalah menutup koneksi database, kenapa harus ditutup? Padahal dibuka saja supaya tidak usah buka tutup nanti jadi ribet? Sebetulnya ada benarnya juga tidak perlu membuka tutup database, tapi apa jadinya kalo kita membuka pintu rumah dan membiarkannya terbuka lebar bagi apa pun dan siapa pun untuk masuk? Mungkin kucing, cecak, kecoa, atau malah MALING bisa seenaknya keluar masuk, saya ulangi lagi MALING, M-A-L-I-N-G. Jika koneksi tidak ditutup, maka maling data (atau kerennya disebut hacker) akan mudah memanipulasi data, atau malah mengambil alih database kita.

Tutup database dengan menggunakan
con.Close()
sederhanakan, tidak lebih dari satu baris, tapi keampuhannya luar biasa.

Kita gabungkan semua langkah-langkah di atas menjadi satu, maka hasilnya akan menjadi syntax seprti di bawah ini :
' Deklarasi variable
Dim con As New OleDbConnection
Dim cmd As New OleDbCommand
Dim strcon As String
Try
' 1) Mendefinisikan database yang akan digunakan
strcon ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=resto.mdb;"
con.ConnectionString = strcon
' 2) Membuka koneksi database
con.Open()
' 3) Mengeksekusi perintah kedalam database
cmd.Connection = con
cmd.CommandType = CommandType.Text
cmd.CommandText = "INSERT INTO menu (id,nama,harga) VALUES ('001','Gado-Gado',5000)"
cmd.ExecuteNonQuery()
' 4) Menutup koneksi database
con.Close()
Catch ex As Exception
MsgBox("Anda gagal keluar dari database. " & vbNewLine & ex.Message)
End Try

Sedikit tambahan, pada syntax di atas ada perintah
Try

Catch Ex As Exception

End try

Ini adalah baris perintah untuk menghindari kesalahan, jadi program akan memberikan peringatan jika terjadi kesalahan.
Demikianlah tutorial fundamental database di VB.Net, selanjutnya kita akan membahas pengambilan data dari database kedalam form.