Postingan kali ini adalah bagaimana cara mengkoneksikan VB6 ke database MySQL
Pertama-tama buatlah database di MySQL, sebagai contoh saya membuat database "Purnama_Barang" dengan tabel "user" menggunakan phpMyAdmin
Klik gambar untuk memperbesar |
pada gambar diatas jenis field integer seharusnya varchar
kemudian isikan didatabase minimal 1 user untuk tes program
Kemudian buatlah sebuah project di VB6
Klik gambar untuk memperbesar |
Saya menggunakan dua form, satu form utama dan satu lagi form login
jadi selain tutorial koneksi database, postingan kali ini juga membahas tentang membuat form Login / menu Login
untuk form login saya gunakan 1 form, 2 label, 2 textbox, 2 command button
untuk form utama terserah anda saja
Form login :
- frmLogin
- txtNama
- txtPassword
- cmdOK
- cmdExit
- frmUtama
Kemudian buatlah module pada project VB6 Anda.
Klik gambar untuk memperbesar |
'==========================================================
Public strkoneksi As String
Public conn As New ADODB.Connection
Public rsUser As New ADODB.Recordset
Public Function Koneksi() As Boolean
'settingan koneksi
On Error GoTo er
'koneksi string ke mysql konektor
strkoneksi = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=" & "localhost" & ";DATABASE=" & "hippam" & ";UID=" & "root" & ";PWD=" & "admin" & ";PORT=" & "3306" & ";OPTION=3"
If conn.State = adStateOpen Then conn.Close
conn.Open strkoneksi
conn.CursorLocation = adUseClient
'buka tabel database
rsUser.Open "SELECT nama,Password FROM user", strkoneksi, adOpenKeyset, adLockOptimistic
If conn.State = adStateOpen Then
Koneksi = True
Exit Function
Else
Koneksi = False
Exit Function
End If
Exit Function
er:
Koneksi = False
MsgBox "Gagal Loading Database", vbInformation, "Database Error"
End Function
'==========================================================
Klik gambar untuk memperbesar |
Sekarang cobalah tekan F5 pada VB6 anda, dan jika terjadi error seperti gambar dibawah ini
Klik gambar untuk memperbesar |
Hal ini terjadi karena VB6 tidak mengenai type ADODB.Connection
Untuk itu kita harus menambahkan preferences library pada VB6 agar dapat mengenali type tersebut.
Untuk menambah library klik Project -> Preferences
Klik gambar untuk memperbesar |
Klik gambar untuk memperbesar |
Sekarang coba tekan lagi F5 dan pastikan tidak ada error, jika sudah tidak ada error kita lanjut ke tahap selanjutnya, Close dulu hasil F5 program.
kemudian ketikkan baris kode berikut ke form login
'==========================================================
Private Sub cmdExit_Click()
End
End Sub
Private Sub cmdOK_Click()
Call Koneksi
If txtNama.Text = "" Then
MsgBox "NAMA USER MASIH KOSONG !", vbCritical + vbOKOnly, "Error"
txtNama.SetFocus
ElseIf txtPassword.Text = "" Then
MsgBox "PASSWORD MASIH KOSONG !", vbCritical + vbOKOnly, "Error"
txtPassword.SetFocus
Else
SQL = ""
SQL = "SELECT * FROM user " _
& "WHERE Nama='" & txtNama.Text & "' " _
& " AND Password='" & txtPassword.Text & "'"
Set rsPeriksa = conn.Execute(SQL)
If Not rsPeriksa.BOF Then
Unload Me
frmUtama.Show
Else
MsgBox "ANDA BUKAN USER YANG BERHAK!", vbCritical + vbOKOnly, "Error"
End If
End If
End Sub
'==========================================================
Sekarang coba tekan F5 lagi dan coba lakukan login.
Selamat Mencoba.
sangat membantu nih gan bisa buat belajar.. trims gan
ReplyDeletesip gan
ReplyDeleteGan error "gagal loading database"
ReplyDeleteSet rsPeriksa = conn.Execute(SQL) < knp ya gan? bls kumohon
bang keluar pesan "gagal loading database"
ReplyDeletetrs waktu di debug yang salah ininya Set rsPeriksa = conn.Execute(SQL)
Masih gak bisa ya gan, coba lihat di blog ane yang lainnya gan. Ne alamatnya :
ReplyDeletehttp://pemrograman-mukhlas.blogspot.com/2012/08/cara-membuat-koneksi-visual-basic-6-ke.html
gan,,,rsPeriksa darimana datangnya???????
ReplyDeletedeklarasikan dimensi rsPeriksa di awal coding atau di module
ReplyDeletePublic rsPeriksa as new ADODB.recordset
sama unz,,, error di rs periksa..
ReplyDeletemohon solusinya gan
dihapus
ReplyDeletemsgbox dibawah er : bisa kok bro... coba aja
makasih tutorny bermanfaat bangets
ReplyDeleteKamu berhasil bikin ya ?
DeleteItu rsperiksa dari mana ?
Saya bug di bagian sananya...
Gmn solusinya ?
ga bisa juga gan
ReplyDeleteDari mana itu rsperiksa ?
ReplyDeleteBug di bagian sana broooo
sama gan ini mana adminnya
Deletekacau koneksinya error bos
ReplyDeleteMungkin cuma copas. Jd maklumkan klo ga bisa di perbaiki
ReplyDelete