Koneksi Visual Basic 6 Ke MySQL

Sesuai janji saya di artikel ini, saya akan menulis tentang bagaimana aplikasi Visual Basic 6 anda terkoneksi dengan MySQL. Saya beranggapan anda sudah belajar tentang dasar-dasar Visual Basic 6. Artikel ini hanya akan membahas tentang bagaimana Visual Basic 6 dapat berkomunikasi aplikasi database MySQL.

Buatlah prosedur baru di form MDI anda atau di Module (dan pastikan kalau di Module, prosedur anda adalah Public sehingga dapat dipanggil dari form utama anda). Berikan nama prosedur itu yang mewakili dengan koneksi anda. Misalnya, buat koneksi.
Prosedur yang saya buat adalah sebagai berikut:

Private Sub buat_koneksi()
Dim ConnString As String
Dim db_name As String
Dim db_server As String
Dim db_port As String
Dim db_user As String
Dim db_pass As String
'//error traping
On Error GoTo buat_koneksi_Error
'/isi variable
db_name = "databaseku"
db_server = "localhost" 'ganti jika server anda ada di komputer lain
db_port = "3306"    'default port is 3306
db_user = "root"    'sebaiknya pakai username lain.
db_pass = "password_anda"
'/buat connection string
ConnString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=" & db_server & ";DATABASE=" & db_name & ";UID=" & db_user & ";PWD=" & db_pass & ";PORT=" & db_port & ";OPTION=3"
'/buka koneksi
With Conn
    .ConnectionString = ConnString
    .Open
End With
'___________________________________________________________
On Error GoTo 0
Exit Sub

buat_koneksi_Error:
    MsgBox "Ada kesalahan dengan server, periksa apakah server sudah berjalan !", vbInformation, "Cek Server"
End Sub

Untuk memanggil prosedur itu, cukup panggil di form utama anda (atau form dimana anda mau memulai koneksi anda) dengan mengetik

call buka_koneksi

atau

buka_koneksi

saja.

Dan jangan lupa untuk membuat object Conn dulu dan biasanya variable Conn ini dibuat secara Public sehingga bisa dipanggil dimana saja. Biasaya saya buat disuatu Module yang isinya adalah koleksi variable Public. Nyatakan variable tersebut dengan menuliskan:

Public Conn                 As New ADODB.Connection

Dan seperti biasa, ketika anda menutup aplikasi, anda harus menutup dulu koneksi anda ke MySQL. Biasanya prosedur tutup koneksi ini saya taruh di blok MDIForm_Unload.

If Conn.State = adStateOpen Or Conn.State = adStateConnecting Then
   Conn.Close
   Set Conn = Nothing
End If

Nah, itu bagian pertama dalam membuat aplikasi Visual Basic 6 dan MySQL, untuk selanjutnya kita akan berdiskusi tentang cara membuka tabel-tabel yang ada di MySQL.

199 comments

  1. ok, satu masalah uda terselesaikan pak edi, oiy pak kalo diperkenankan neh, boleh dunk minta module, procedure atw contoh program vb+mysql yg menggunakan modul koneksi, modul DML yang bisa dipake untuk semua tabel (at least for table master),jadi tinggal atur parameter-nya aja,mohon dikirim ke email saya.

    oiy pak,klo misalnya saya mw buat prog vb+mysql saya mjd client-server,apa yang harus saya persiapkan & saya lakukan??!!

    terima kasih sekali atas bimbingannya.

  2. pak edi,,,

    saya sudah membuat contoh sederhana aplikasi vb+mysql yang sudah dilengkapi dgn funsi insert-delete-update dengan mengadopsi coding dr artikel yang pak edi tulis.

    permasalahan saya adalah saya gagal membuka kembali sebuah form yang baru saja ditutup sementara form utama (parent form) masih terbuka.

    error ‘3705’:
    operation is not allowed when the object is open

    saya juga menerapkan sebuah module yang berisi fungsi untuk menutup koneksi seperti contoh yang pak edi berikan dan dipanggil saat sebuah child form ditutup.

    terima kasih atas solusinya pak…

  3. Salam kenal pak Edi. Gini pak. Sy sgt tertarik dgn database. Mulai otodidak hingga kursus. Vb6 sudah sy kuasai walau gak smua. Mulai aplikasi sederhn hingga yg agak rmt(spt app hotel). Tapi slm ni back end sy acces. Sy ngin perdalam dtbse sy dgn mysql ato mssql. Kalo pak edi berkenan, sy mhn dizinkan tuk privat dngn bpk. Sy tgu respon bpk di email sy. Trims sblmnya.

  4. hallo master, mau tanya nie.
    gini : saya lebih suka main coding daripada main visual. meski VB 6 memberikan solusi visual. saya lebih suka membuat script sendiri, mendefinisikan variabel, memanggil form dsb.

    Nah pertanyaan saya, sehubungan dengan ODBC connection, bagaimana mendefinisikan function yang anda kasi agar berbentuk Class? dan bagaimana mengaksesnya?

  5. Wah, artikelnya sgt membantu. oya mas gmn caranya buat file instalasi yg include myodbc, jd kt g perlu lg instal myodbc scara terpisah di komp client, thx

  6. kalo mysql bukan terinstal di pc kita tapi kita ingin menggunakan database yang disediakan oleh web hosting… bagaimana koneksi databasenya????
    user, password, dan portnya udah ada, tapi ga bs connect, apanya itu yg bermasalah…..

  7. Mohon bantuan kakak2. saya ada tugas buat aplikasi sederhana dari vb 6 database pake access saja. cuma bagaimana cara agar bisa di sharing database menggunakan jaringan. Antara PC1 dan PC2 (Admin dan User biasa) Terima Kasih

  8. makasih bangad om
    tutorialnya mantap
    saya udah nyari ini seharian akhirnya dapet juga
    hehehhehe

  9. Buat para Master-master yang jago VB, Saya mo mnta tolong banget nih. Sya buat aplikasi VB-MySQL. pada tahap awal gada masalah. nah, sampai di Pembuatan report menjelang Package, ada muncul pesan ky gini:

    run-time error ‘2147467259 (80004005)’:

    Maksudnya apa ya? & gmn solusinya?

  10. Slam kenal mas,,,aku bayu.aku newbie pengen belajar vb dengan pake mysql,aku mu tanya ni mass,,, soal
    “db_server = “localhost”
    yang dimaksud “ganti jika server anda ada di komputer lain ” itu diganti dengan nama komputernya?
    trus kalo akses db di mysql dengan konfigurasi dikoneksikan dengan pc peer to peer coding gimana??
    mohon pengarahannya….terima kasih

  11. bang maw nanya…
    knapa kok saya selalu error di ADODB.Connection

    nah untuk nyang ini :
    Dan jangan lupa untuk membuat object Conn dulu dan biasanya variable Conn ini dibuat secara Public sehingga bisa dipanggil dimana saja. Biasaya saya buat disuatu Module yang isinya adalah koleksi variable Public. Nyatakan variable tersebut dengan menuliskan:

    Public Conn As New ADODB.Connection

    itu dibuatnya dimana….
    thx…

  12. @adi_zean: sebetulnya untuk deklarasi public variable sih dimana aja bisa pak, hanya saya suka membuat semua public variable di module tersendiri. Tinggal buat Module, lalu deklarasikan semua variable public anda disana (Add -> Module menu)

  13. sekarang muncul satu pertanyaan lagi…
    call buat_koneksi itu di isi di setiap form ya…??
    maaph kalu banyak nanya..
    hehehe

  14. saya pengen tanya
    bagaimana menampilkan tabel tertentu ke datagrid
    sama bagaimana memasukkan data dari textbox ke tabel tertentu jika yang di insert kan pada textbox berbentuk karakter bukan angka dan tipe data apa yang digunakan pada mysql nya
    bagaimana solusinya
    tolong bantuannya

  15. @Dinz: itu hanya nama variable connection saya…… anda bisa memberi nama sesuka hati anda…

  16. mas, knpa ya runtime error ‘424’.

    apa masalah di references nya atau dimananya ya mas ?
    mohon bantuannya..
    makasih mas 😀

  17. Salam Kenal Mas Edi,
    Makasih banyak mas..tulisan ini sangat membantu saya. Karena ketika itu saya sedang memigrasikan ms access ke mysql. karena awalnya stane alone sekarang jadi multi user. Hasilnya Database Mysql sangat stabil. meski dengan BW yang tdk gede.(diakses via internet-speedi lagi. hehee)
    Bravo Ya….

  18. @noordin: selamat ya pak…. iya saya juga mengintegrasikan antar kota juga lewat speedy, langsung ke server dan lumayan cepet….

  19. Om Edi mau tanya nih….
    Saya sedang merancang pembuatan aplikasi server client dg vb6 mysql. Saya masih bingung penggunaan ini :
    Adopenstatic,AdOpenDynamic, AdLockOptimistic,readonly dll

    yg digunakan saat open data misal:
    dim barang as new adodb.recordset
    barang.open “select * from barang”,konn,bla bla,bla bla

    Nah saya bingung isi di bla bla nya om edi, tolong pencerahanya, trimakasih

  20. alo mas edi..
    saya mau tanya saya coba buat koneksi dr vb6 ke mysql emang apa bedanya seh pake odbc versi 3.51 sama 5.1?
    saya pake adodc.. bagaimana dg connection string nya?

  21. SourceCode ini sangat bagus sekali, saya udah terapkan dengan server lokal memakai xampp dengan phpmyadmin semua berjalan normal tidak ada kendala, akan tetapi setelah saya coba memakai hosting web misal webku.com saya sudah coba db_server nya sudah saya isi dengan webku.com berulang kali tapi gagal koneksi. mohon bantuannya ?
    terima kasih.

  22. @wsputra: kalo ke hosting keliatannya jarang yang di buka untuk Remote Access nya….

  23. @riyanto: ya sama aja dengan lan, tulis aja IP komputer yang terkonek dengan internet dan jangan lupa set juga port forwarding di modem broadband anda…..

  24. Pak klo menggunakan windows 7, koneksi ke mysql dg adodc kok error ya pak, tpi klo lainya tidak mslh..saya gunakan mysql driver 5.1

    errornya : [microsoft][ODBC Driver Manager]Data source name not found and no default driver specified

    klo entry/report gk mslh ambil datanya..

    krn saya gunakan dbgrid dg adodc, kok error,sdg kl windows xp..tdk mslh

    mohon solusinya

    tks

  25. pak..saya sudah buat koneksi dg nama konekdb dg script berikut:
    Option Explicit
    Public koneksi As ADODB.Connection
    Sub konekdb()
    Set koneksi = New ADODB.Connection
    koneksi.ConnectionString = “” _
    & “DRIVER ={MYSQL ODBC 5.1 DRIVER};” _
    & “SERVER = localhost;” _
    & “DATABASE =fp2:” _
    & “UID=root;” _
    & “PWD=;” _
    & “OPTION=” & 1 + 2 + 8 + 32 + 2048 + 16384

    koneksi.CursorLocation = adUseClient
    On Error Resume Next
    If koneksi.State = adStateOpen Then
    koneksi.Close
    Set koneksi = New ADODB.Connection
    koneksi.Open
    Else
    koneksi.Open
    End If
    If Err.Number 0 Then
    MsgBox “Gagal terhubung ke server!!!”, vbOKOnly, “Kesalahan”
    End
    End If

    End Sub

    di form yang saya buat dg script:
    Private Sub Command1_Click()
    Dim sql As String

    Call konekdb

    sql = “”
    sql = “insert into pp values(‘” & Text1.Text & “‘, ‘” & Text2.Text & “‘)”
    koneksi.Execute sql, , addcmdtext

    If Err.Number 0 Then
    MsgBox “tambah data gagal”, vbOKOnly, “gagal”
    End
    Else
    MsgBox “Data berhasil disimpan”, vbInformation, “suskes”
    End If

    End Sub

    ternyata gagal terhubung ke server. mohon bantuan bapak. kirim ke email saja ya pak agar lebih lengkap. terima kasih banyak

  26. pak edi saya mau tanya
    kalo koneksi vb ke mysql gimana…saya sudah coba modul ya bpk bahas di atas tapi tetep gak bisa…

    saya ingin membuat aplikasi berbasis multi user/client…saya sudah coba semua cara tapi tetep aja gagal…
    gimana caranya pak edi…mohon bantuan dan bimbingannya ya pak…
    kalo bisa kirim ke email saya pak…

  27. Hello Pak Edi, setelah saya membaca artikel anda tentang program VB dan koneksi Mysql diatas, saya mau tanya ni ke master programmernya ni. Apakah ada koneksi langsung antara Vb6.0 ke database Mysql selain pake connectionstring “DRIVER={MySQL ODBC 5.1 DRIVER};SERVER=IPServer;DATABASE=DBname;UID=root;PWD=password;PORT=3306;OPTION=3” ? kalau ada bisa diberikan contohnya ? thx. Terus apakah pernah buat program VB yang bisa kirim pesan untuk warning suatu transaksi lewat email langsung ? kalau ada bisa minta tolong examplenya untuk dikirimkan ke alamat email saya “alyf_2006@yahoo.com”?

  28. Pak … saya mau tanya,

    kalo pake database access.. maka databasenya bisa saya letakkan menjadi satu folder dengan program kita..

    apabila satu folder tersebut (berisi program dan database access) saya pindahkan ke komputer yang berbeda maka
    tidak ada masalah dengan koneksinya meskipun di komputer tersebut tidak di install micr. access karena untuk penentuan lokasi database, saya gunakan APP.PATH

    NAH, pertanyaannya …

    kalo pake mysql … bisa gak ya untuk databasenya saya pindahkan ke folder yang sama dengan lokasi program.

    jadi, pada saat saya copy ke komputer yang berbeda dan tidak ada mysqlnya tetap masih bisa mengakses databasenya.

  29. Gan.. aku mau tanya nie..
    kok tempatku
    Public Conn As New ADODB.Connection

    error ya…
    padahl sudah diinstal odbc5.1..
    kira2 permasalahannya dimana ya?
    pencerahan sangat diharapkan
    ary.

  30. Pak Edi,
    saya juga sudah mengikuti seperti Pak Edi cara di atas, saya sudah install odbc5.1.8 tapi ada error messagenya, berikut ini messagenya : 424 Object Required

    Mohon pencerahannya Pak Edi,

    Sebelumnya saya ucapkan Terima Kasih,

  31. mas, ada contoh program visual basic tentang nilai dengan database mysql gak???
    aku dikirimi ya ke email aku…
    please….!!!!!
    jhehehe….

  32. mas, aku minta tolong dikirimi contoh program nilai dengan VB 6.0 database mysql multiuser.
    aku belajar tentang itu, please…..
    kirimi ya…..!!!!!

  33. pak edi bisa setelah saya mencoba membuat suatu aplikasi…..
    kenapa setelah di exe kn program jalan….
    tapi ketika exe di pindah kn ke flesdis program tersebut database nya gagal…

    mohon bantuan nya pak…..

    langsung kirim k email saja pak biar lebih lengkap…..

  34. mohon bantuannya pak….

    kalo untuk cross check data kembar, listing program nya gmn pak…????

    tolong dikirim ke email contoh program nya….

    makasih banyak untuk bantuannya…..

  35. Bang.
    Saya mau tanya.Gmn cara mengkoneksi vb dg database yg ada di web server.? Jadi kita bisa ngatur isi website dengan program yg kita buat pke vb.

  36. dear pak..
    saya lagi ada tugas akhir di sekolah .

    saya udah coba script diatas . tapi muncul error .
    invalid outside procedure .
    padahal langkahnya udah sama semua 🙁

    saya juga lagi butuh vb tentang data siswa .
    mohon kirim contoohnya ke pietz_salsabila@yahoo.co.id

    makasih sebelumnya . hanya Tuhan yg bsa balas kebaikan anda .

  37. Pak Edi saya ini baru aja kuliah, jadi baaru juga ketemu yang namanya visual basic sama mysql, agar lebih mudah memahami koneksi antara keduanya apa dulu yang mesti saya pahami pak??????

  38. salam kenal mas…
    mas saya udh coba scrip di atas untuk db_server=localhost ok, tp pas saya coba pake ip server ko ga bisa ya…???
    tolong bantuannya mas…thank’s

  39. Pak edi saya mau tanya nih..
    Seperti yg sudah bnyk tmn2 lain tanyakan.
    Bagaimana cara menggunakan database MySQL yg ada di webhosting (online) agar datanya bisa ditampilkan,diedit,ditambah dgn Visual basic 6? Sprti itu bisa dilakukan atau tidak?
    Oya,apa pak edi suka chat via ym? Boleh tau g ym bpk apa?
    Add ym sya di: is_noer90
    Terimakasih sblmnya.

  40. saya sudah coba coding di atas, buat di db_server localhost bisa jalan, tp kalo localhost di ganti dengan 128.0.0.1 alamat ip kok jd langsung gk nyambung. kenapa ya?

  41. g ad image’a y??aq cman mw tnya soal caranya konek dr vb 6,,
    tu bgian ap yg d setting???(properties,file,component a/ ap gt y???)

  42. bang ane mau tanya nie, abang pake mysql apa.soalnya ane pake xampp, sebetulnya xampp sih web server dan mencakup mysql,apache,filezile dan mercury.ane sudah pernah coba mysql foxserv, nah untuk pake mysql foxserv bisa. kalo pake xampp kok gk bisa.untuk odbc ane egk merubah sama sekali.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.