Friday, October 26, 2012

Menghubungkan Visual Basic 2010 dengan Database MySql

Untuk mengkoneksikan visual basic 2010 dengan mysql, diasumsikan kita telah menginstall beberapa software berikut:
  • Visual Basic 2010
  • MySql Server versi terbaru(yang saya gunakan v 5.5xx)
  • MySql connector .net versi terbaru(yang saya gunakan v 4.xx)
Setelah semua telah ada kita lakukan

Langkah Pertama :

Masukan referensi mysql.data pada visual basic melalui Solution Explorer..

Gambar 1

Kemudian pada kotak "Add Reference" pilih Tab .NET dan cari MySql.Data Klik OK

Gambar 2



Langkah Kedua :

Buatlah sebuah WindowsApplication baru dengan memilih File -> New -> Project

Gambar 3

Pilih Windows Form Application,
Pada Name tentukan nama project,
Pada Location tentukan lokasi tempat project akan disimpan
Klik OK

Gambar 4

Pada form yang muncul, pilih menu view code atau shortcut F7 sehingga muncul jendela "view code"

Gambar 5

Gambar 6

Langkah Ketiga :

Pada langkah ini kita akan memasukkan beberapa kode program sebagai berikut:

Sebelum mengkoneksikan visual basic .net kita dengan mysql kita harus mengimport class mysql.data yang telah direferensikan diatas dengan kode berikut:

Imports MySql.Data.MySqlClient

Kode diatas harus diketikkan sebelum Public Class Form1.

Kemudian didalam class kita sisipkan objek form dengan prosedur load sebagai berikut:

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub

Diantara Form Load tersebut kita buat sebuah variabel yang berfungsi sebagai objek untuk menangani koneksi yaitu:

Dim constr As String = "Data Source=localhost;user id=root;password=disesuaikan;database=data"
Dim koneksi As New MySqlConnection(constr)

Variabel constr adalah variabel yang bertipe data string dan berisi data-data mysql seperti
  • Data Source, lokasi server berada
  • user id, nama user yang digunakan untuk terhubung ke mysql
  • password, password dari user bersangkutan
  • database, nama database tujuan
Sedangkan variabel koneksi berfungsi sebagai objek yang akan kita gunakan untuk terhubung maupun memutuskan koneksi ke database.

Langkah berikutnya kita hubungkan visual basic ke mysql menggunakan variabel "koneksi" yang telah kita buat dengan kode berikut:

koneksi.open()

Namun, kita tidak akan mengetahui apakah database benar-benar sudah terhubung atau belum, oleh sebab itu kita tambahkan sedikit fungsi cerdas bawaan visual basic 2010 yaitu Try ... Catch untuk menangkap kesalahan saat koneksi berhasil ataupun gagal, sebagai berikut:


Try
koneksi.open()
messagebox.show("koneksi berhasil")
catch ex as mysqlexception
messagebox("maaf koneksi error : " & ex.message)
end try


Jika koneksi berhasil maka akan muncul tulisan "koneksi berhasil" pada messagebox, namun jika gagal maka akan muncul penyebab errornya contoh "maaf koneksi error : Access denied for user 'root'@'localhost'(using password Yes)"

Sedangkan untuk menutup koneksi mysql kita menggunakan kode :


koneksi.close()


Jadi terdapat 4 langkah untuk menghubungkan visual basic 2010 dengan mysql, Sekarang kita akan coba memasukkan data kedalam tabel database mysql, jadi kita harus memiliki terlebih dahulu database dan tabelnya, maka buatlah contoh database beserta tabelnya sebagai berikut:

Gambar 7

Untuk mengolah data didalam database kita harus menguasi beberapa Sql Query yang bisa didownload pada Halaman Download.

Sekarang buatlah sebuah variabel yang akan kita jadikan objek untuk mengendalikan Sql Query sebagai berikut:

Dim cmd As New MySqlCommand

Kemudian kita buat sebuah variabel untuk menampung Sql Query sebagai berikut:

dim query as string = "insert into data(user,password)values('cintalouis','sate padang');"

Setelah itu kita tentukan jenis koneksi dan query yang akan dipakai dengan kode berikut:

cmd.Connection=koneksi
cmd.Command=query

Langkah terakhir kita eksekusi dengan kode berikut:

cmd.ExecuteNonQuery()

Sekarang kita cek kembali database yang tadi kita buat,

Gambar 8

Kita juga dapat mengkombinasikan MysqlCommand diatas dengan mekanisme Catch..Try untuk memberikan pesan kesalahan jika query gagal dieksekusi.

20 comments:

  1. tutorial yg sgt bagus & bermanffat dalam pengerjaan tugas untuk UTS VB . hahahaha

    ReplyDelete
  2. conectornya udh diinstall blm gan..?
    kl blm musti install conectornya dulu udh itu br Add Reference

    ReplyDelete
  3. gan, d gw kok ada pesan error pass masukin code 'Imports MySql.Data.MySqlClient' ny pdhal posisi ny udh bner d atas kode 'Public Class Form1' ,, Error :
    "Warning 1 Namespace or type specified in the Imports 'MySql.Data.MySqlClient' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases" gitu ktanya gan....gimana solusinya..??

    ReplyDelete
  4. masukin dl dong referencenya.. .dllnya blm ada brarti

    ReplyDelete
  5. Sangat Bermanfaat Terima Kasih~ ^^

    ReplyDelete
  6. cmd.Connection = query gak bisa di konfersi ke mysql bang,solusinya?

    ReplyDelete
  7. cmd.connection harus berisi objek dari class mysqlConnection, jadi harusnya cmd.connection=conn (jika nama objek koneksinya conn)

    ReplyDelete
  8. Bung saya punya tidak bisa muncul mysqldata gimana ini? mohon pencerahan.

    ReplyDelete
  9. gan ketika nginstal connector net failed itu knp ?

    ReplyDelete
  10. thank's gan ,sangat bermanfaat bagi saya..............

    ReplyDelete
  11. gan, visual yang 2010 sama gak kyk yang 2012

    ReplyDelete
  12. saya sudah instal konektor nya tapi masih ga bisa add reference nya, mohon bantuannya

    ReplyDelete
  13. pas add reference tidak muncul mysql.data nya
    itu kenapa y

    ReplyDelete
  14. Gan mau nanya kalau saat ngerun vb.net terus keluar message cmd.ExecuteNonQuery cara menagatasinya bagaimana pak ?

    ReplyDelete
  15. @Stay With You , kemungkinan besar kamu salah di query yang mw dieksekusi.

    ReplyDelete
  16. Maaf Pak Klo Boleh Minta Link Download MySql connector .net v4 Nya Pak Klo Boleh Tolong Send Ke Email Saya : yogiprayogijkt22@gmail.com

    ReplyDelete