Sabtu, 29 Januari 2011

Tutorial VB 6.0 : Koneksi Database MySql Tanpa ODBC

Kakek saya bertanya ,, :D .. Apakah membuat koneksi database menggunakan mysql dalam VB 6.0 harus pake ODBC ???. dan saya pun menjawab, owwwhhhhhhh tidak bisa (sule mode on) :P.. tentunya bisa kek, coba deh kakek make API MyVbQL dijamin deh bisa. hehehehehe :D.

MyVbQL adalah application programming interface (API) pada Visual Basic yang dibuat oleh icarz.Inc. MyVbQL merupakan alternatif dari penggunaan driver MS ADO MyODBC yang digunakan oleh pengguna Visual Basic untuk mengakses basis data MySQL. Pembuatan MyVbQL bertujuan untuk mengurangi ukuran setup perangkat lunak. Dan penggunaan MyVbQL.dll dapat mengurangi ukuran setup file sampai 10 MB (megabyte) dibandingkan menggunakan ADO yang standar. (Icarz. Inc, 2002).

Nah sekarang ane buat aje program sederhana dengan menggunakan API MyVBQL, caranya mudah, saudara-saudari add references dulu API nya.

Langkah 1

Buat Form seperti dibawah ini :

Lalu tambahkan kode berikut pada general description di code window
Private connMySQL As New MYSQL_CONNECTION
Private myRS As MYSQL_RS

Langkah 2

Tambahkan event click pada btnOK , btnCancel dan List1

- event click btnOK

Private Sub btnOK_Click()

Dim Sql As String

Dim row As Long

'//error traping

On Error GoTo kesini

List1.Clear

List2.Clear

If connMySQL.State = MY_CONN_OPEN Then connMySQL.CloseConnection

'// buka koneksi

connMySQL.OpenConnection txtDBServer.Text, txtUser.Text, txtPass.Text, "", txtPort.Text

If connMySQL.State = MY_CONN_OPEN Then

Sql = "SHOW DATABASES;"

Set myRS = connMySQL.Execute(Sql, row)

If myRS.RecordCount = 0 Then Exit Sub

myRS.MoveFirst

Do Until myRS.EOF

List1.AddItem myRS.Fields(0).Value

myRS.MoveNext

Loop

myRS.CloseRecordset

Else

MsgBox connMySQL.Error.Description, vbCritical, "Error " & connMySQL.Error.Number

End If

'___________________________________________________________

On Error GoTo 0

Exit Sub

kesini:

MsgBox connMySQL.Error.Description, vbCritical, "Error " & connMySQL.Error.Number

End Sub

- event click btnCancel

Private Sub btnCancel_Click()

txtDBServer.Text = ""

txtPass.Text = ""

txtPort.Text = ""

txtUser.Text = ""

End Sub

- event click List1

Private Sub List1_Click()

Dim Sql As String

Dim row As Long

List2.Clear

On Error Resume Next

If connMySQL.State = MY_CONN_OPEN Then

Sql = "USE " & List1.Text & ";"

connMySQL.Execute Sql

Sql = "SHOW TABLES;"

Set myRS = connMySQL.Execute(Sql, row)

If myRS.RecordCount = 0 Then Exit Sub

myRS.MoveFirst

Do Until myRS.EOF

List2.AddItem myRS.Fields(0).Value

myRS.MoveNext

Loop

myRS.CloseRecordset

End If

End Sub


jreeeenngggg... coba liat hasilnya dibawah ini.. download source codenya disini

4 komentar:

  1. mas, saya lagi bikin tugas akhir nh. sekarang saya lg butuh intalan myvbql.dll... bisa tolong di share gk mas?
    terima kasih

    BalasHapus
  2. kan diatas ada link untuk download source codenya mas, saya rasa ini sudah cukup untuk memperlajari koneksi database mysql nya, tinggal sedikit dikembangin aja untuk membuat CRUDnya (Create, Read, Update dan Delete) ... :D

    BalasHapus
  3. Thanks ya atas tulisan yg bagus ini.
    Sangat berguna buat para programer muda.

    Tapi ingat! myvbql ini tidak cocok utk database yg besar. Dia akan mudah membuat server jadi 'hang', kok bisa? ya.. teknik yg digunakan adalah mapping pada memori, jadi kalo database besar, pengin gak 'hang' ya musti RAM nya super guede.. :)
    Tapi ada trik, supaya pemakaian memori tetap 'aman', yaitu dgn selalu 'close' recordset setelah satu proses. Selain itu tidak boleh browse database dgn mode 'All'. Harus dgn 'select for' atau 'select where'
    Memang jd tdk efisien dlm kinerja server, tapi ya cuma itu jalan keluarnya :-)

    Salkomsel (salam kompak selalu)

    BalasHapus
  4. terima kasih mas atas informasi pengetahuannya... nambah lagi deh il;munya, hehehe :D

    BalasHapus