KNOW-HOW
CODING
03/2010
Membuat Koneksi
Sebelum membuat aplikasi yang sebenarnya, kita perlu melakukan uji coba koneksi antara VB.Net dengan MySQL. Langkahlangkahnya adalah: 1. Kita buat sebuah project baru di VB.Net. (Gambar 2) 2. Sebelum kita dapat menggunakan Connector/NET dengan VB.Net, kita perlu menambahkannya ke dalam project yang kita buat. Caranya adalah lewat menu Project >> Add Reference. Pilih tab Browse, dan arahkan ke tempat melakukan instalasi Connector/NET. File yang kita pilih adalah MySQL. Data.dll. (Gambar 3) 3. Pada Form, kita perlu menyiapkan beberapa textbox untuk mengatur kongurasi koneksi. Kongurasi yang perlu diatur adalah server, username, password, dan database. Bentuk form untuk mengatur kongurasi ini adalah seperti pada gambar 4. Pada form, ada 4 buah komponen textbox yang bernama txtServer, txtUserName, txtPassword, txtDatabase, serta dua buah button bernama cmdLogin dan cmdCancel. 4. Untuk source code, koneksinya diawali dengan import:
Imports MySql.Data.MySqlClient
5. Dilanjutkan dengan deklarasi koneksi dengan menggunakan class MySqlConnection. Class MySqlConnection ini dapat dikenali karena kita telah menyertakan referensi MySQL. Data.dll:
Public Class Form1 Dim conn As MySqlConnection
6. Pada event click button login, kita melakukan koneksi database MySQL. Yang perlu didenisikan untuk melakukan koneksi database adalah property ConnectionString. Pada ConnectionString, kita perlu mendenisikan nama server, user id, password dan database yang hendak dikoneksikan:
Private Sub cmdLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLogin.Click
Gambar 1. Proses instalasi Connector/NET 6.1.3.
03/2010
CODING
KNOW-HOW
117
Cara lain, adalah dengan memanfaatkan aplikasi MySQL Query Browser, yang merupakan tool GUI untuk mengolah database pada MySQL. Aplikasi ini dapat di-downloadpada alamat: http://dev.mysql.com/downloads/gui-tools/ 5.0.html. 9. Setelah database sukses dibuat, kita dapat menjalankan program VB.Net untuk menguji apakah koneksi dapat dibuat atau tidak. Kongurasi standar yang kita masukkan adalah: Server: localhost, Username: root, Password: [kosong], Database: testkoneksi. (Gambar 6) 10.Jika koneksi sukses, maka akan muncul tampilan bahwa koneksi berhasil dilakukan. (Gambar 7)
Gambar 3. Menambahkan referensi Connector/NET.
conn = New MySqlConnection() conn.ConnectionString = server= & txtServer.Text & ; _ & user id= & txtUsername.Text & ; _ & password= & txtPassword.Text & ; _ & database= & txtDatabase.text
Try conn.Open() MessageBox.Show(Connection Opened Successfully) conn.Close() Catch myerror As MySqlException MessageBox.Show(Error Connecting to Database: & myerror.Message) Finally conn.Dispose() End Try End Sub
Proses koneksi yang dilakukan merupakan proses yang rawan kesalahan, seperti misalnya ketika MySQL belum diaktifkan, user name dan password tidak sesuai, database tidak ditemukan, dan sebagainya. Untuk itu, kita perlu melakukan pencegatan dengan blok Try Catch Finally. Dengan demikian, jika terjadi kesalahan, pencegatan dapat dilakukan tanpa harus keluar dari program. 7. Untuk button cancel, kita berikan pencegatan agar program berhenti:
Private Sub cmdCancel_Click(ByVal sender As System. Object, ByVal e As System.EventArgs) Handles cmdCancel. Click Application.Exit() End Sub
8. Hingga tahap ini, pembuatan aplikasi untuk melakukan koneksi dengan MySQL telah selesai. Namun, sebelum mencoba apakah koneksi dapat dilakukan, kita perlu untuk membuat database pada MySQL terlebih dulu. Cara untuk membuat database adalah melalui MySQL console (MySQL. exe), dan mengetikkan perintah SQL. (Gambar 5):
118
KNOW-HOW
CODING
03/2010
INSERT INTO user VALUES (Duwey,kwek222,Bebek Kwek,2005-04-1,M); INSERT INTO user VALUES (Louie,5543kwik,Bebek Kwik,2004-8-21,M); INSERT INTO user VALUES (Daisy,t1t1,Tante Desi,20035-12,F); INSERT INTO user VALUES (Donald,b3b3kt4t4,Paman Donal,2002-03-5,F); INSERT INTO user VALUES (Della,d3lla,Tante Della,2004-06-17,F);
RowsMode.AllCells Catch myerror As MySqlException MsgBox(There was an error reading from the database: & myerror.Message) End Try Catch myerror As MySqlException MessageBox.Show(Error connecting to the database: & myerror.Message) Finally If conn.State <> ConnectionState.Closed Then conn.Close() End Try End Sub End Class
Perintah SQL di atas dapat diketikkan melalui MySQL Console ataupun MySQL Query Browser. Jika perintah di atas berhasil, maka akan terbentuk tabel yang bernama user dengan 6 record di dalamnya. (Gambar 8) Setelah data berhasil disimpan dalam tabel user, kita membuat proyek baru yang tujuan akhirnya adalah mengeksekusi query pada database testkoneksi dengan query sederhana, serta menampilkan hasil query tersebut pada aplikasi VB.Net. Langkah-langkahnya adalah sebagai berikut: 1. Buat proyek baru dengan dua buah komponen, yaitu DataGridView dengan nama dgvStatus, dan sebuah button untuk me-refresh data dengan nama btnRefresh. 2. Pada awal source code, kita tambahkan statement import:
Imports MySql.Data.MySqlClient Imports System.Data
4. Jika program dijalankan, maka tampilan yang didapatkan adalah seperti pada gambar 10.
Penutup
Dengan kemampuan untuk mengeksekusi query, maka pengolahan data pada tabel dapat dengan leluasa dilakukan (mengingat semua perintah pengolahan data dapat dilakukan dengan perintah SQL). Kita dapat mengembangkan aplikasi ini agar menjadi aplikasi yang dapat melakukan update, insert atau delete data. Semoga berguna.
Windra Swastika adalah dosen tetap Program Studi Sistem Informasi, Universitas Ma Chung
3. Inti dari program ini adalah pada button refresh yang digunakan untuk menampilkan data query ke grid. Source code-nya adalah sebagai berikut:
Public Class Form1
Private Sub btnRefresh_Click(ByVal sender As System. Object, ByVal e As System.EventArgs) Handles btnRefresh. Click Dim conn As New MySqlConnection Dim myCommand As New MySqlCommand Dim myAdapter As New MySqlDataAdapter Dim myData As New DataTable Dim SQL As String
Gambar 9. Rancangan form untuk menampilkan hasil query.
LEBIH LANJUT
SQL = SELECT * FROM user conn.ConnectionString = server=localhost; _
http://www.vbmysql.com/articles/vbnet-mysql-tutorials/