Untuk koneksi VB6 dengan database MySQL ada dua cara yang bisa kita lakukan yaitu menggunakan ODBC atau secara langsung (Direct).
Saya akan mencoba menguraikan koneksidengan ODBC dan secara langsung
A. DENGAN ODBC
1. kita harus menginstalkan MySQL ODBC 3.51 yang dapat kita download secara gratis di www.mysql.com/downloads, sehingga pada ODBC akan muncul seperti berikut
2. Langkah selanjutnya seting ODBC dengan contoh seperti gambar di bawah
3. Pada VB6 jangan lupa tambahkan refersensi tambahkan Microsoft ActiveX Data Objects 2.5 Library
4. pada modul tuliskan listing seperti berikut
Option Explicit
Global db As Connection
Global Con1, Con2, Con3, Con4 As Recordset
Global TDsn, TUser, TPass As String
5. pada form login tuliskan listing program seperti berikut
Misalkan nama ODBC nya MySQL
On Error GoTo eh
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDASQL;Mode=ReadWrite;dsn=MySQL;uid=” & txtUser.text & ”;pwd=” & txtPassword.text & ”;database=” & txtDB.text & ”;"
Exit Sub
eh:
End
6. untuk melakukan Query (Select,Insert,Update, delete dll) contohnya sebagai berikut
Set Con1 = New Recordset
Con1.Open "select nokapst,nokk,nopen,nmpst from askeskin limit 0,100000;", db, adOpenStatic, adLockOptimistic
B. SECARA LANGSUNG (DIRECT)
Dengan cara ini kita tidak usah mengsintalkan MySQL ODBC atau mengkonfigurasi ODBC tapi kita harus memiliki file dll yaitu VBMySQLDirect.dll dan libmySQL.dll, yang bisa di Downloads DISINI
Caranya
1.Copykan ke dua file tersebut pada
2. instalkan kedua file tersebut dengan perintah regsvr32, seperti contoh berikut
2.Tambahkan referensi VB MySQL Direct V 1.0pada VB
3.Tuliskan listing program pada modul
Option Explicit
Global gCnn As MYSQL_CONNECTION
Global pRs As MYSQL_RS
Global SQL As String
4. pada form login, tuliskan listing
Set gCnn = New MYSQL_CONNECTION
gCnn.OpenConnection txtHost, txtUserName, txtPassword, cmbDatabase
5. untuk query (Select, Insert, Update, dlete dll) cara penulisannya seperti contoh berikut
Set pRs = New MYSQL_RS
SQL = "select nokapst,nokk,nopen,nmpst from askeskin limit 0,100000"
pRs.OpenRs SQL, gCnn
Mana yang lebih cepat menggunakan ODBC atau secara langsung ? menurut yang saya baca di internet, katanya secara langsung lebih cepat dari pada menggunakan ODBC, tetapi setelah saya lakukan eksperimen untuk membaca dan menuliskannya ke listview dengan membaca 100.000 record, didapat hasil seperti berikut :
Menggunakan ODBC
Secara langsung (Direct)
Dengan ODBC diperlukan waktu 6 detik sedangkan secara langsung memerlukan waktu 2 menit 31 detik. Mana yang akan kita pilih ? yang jelas bila print out nya menggunakan Crystal Report 8.5 yang bisa dipakai yaitu yang menggunakan ODBC