OK This is how i am doing mine,
Its working great!

Declarations:

VB Code:
  1. Const mySqlHost = "localhost"
  2. Const DataBase = "myDataBase"
  3. Const MySqlUID = "root"
  4. Const MySqlUID = ""

Usage:

VB Code:
  1. On Error GoTo Error_Msg:
  2. Dim oConn As New ADODB.Connection
  3. Dim myrs As New Recordset
  4. Dim mySQL As String
  5.  
  6. ' Creating the Connection Socket
  7. oConn.Open "Driver={mySQL};" & _
  8.            "Server=" & mySqlHost & ";" & _
  9.            "Port=3306;" & _
  10.            "Option=131072;" & _
  11.            "Stmt=;" & _
  12.            "Database=" & DataBase & ";" & _
  13.            "Uid=" & MySqlUID & ";" & _
  14.            "Pwd=" & MySqlPass & ";"
  15.  
  16. ' SQL Query to preform,
  17. ' Remember when using WHERE stuff, you need to use ' around stuff like "User" etc.
  18. mySQL = "SELECT uid, uname, pass from " & UserTable & " WHERE uname='" & User & "'"
  19.  
  20. ' Just set the cursor location etc for the record set
  21. myrs.CursorLocation = adUseClient
  22. ' Create the record set By executing the MySQL query (Dont need a record set for Update / Delete / Insert :)
  23. Set myrs = oConn.Execute(mySQL)
  24.  
  25. ' Now, There may be an error if no records are found, if checking The Password agains the password in the Database (myrs("pass"))
  26. On Error GoTo CheckError:
  27.  
  28.     If (myrs("pass") = Password) Then
  29.               ' Do my authorize access here
  30.     Else
  31.               ' Do my unauthorized access here
  32.     End If
  33.  
  34. ' We use a "GoTo" for the error, so i use this for it :)
  35. GoTo CloseUp:
  36.  
  37. Exit Sub
  38.  
  39. CloseUp:
  40.       ' Close the connection
  41.       oConn.close
  42.       ' Created a Object to connect, so lets delete it
  43.       set oConn = Nothing
  44.       ' As well as delete the record set
  45.       set myrs = Nothing
  46. Exit Sub
  47.  
  48. CheckError:
  49.     If Err.Number = 3021 Then ' 3021 = No Records Found
  50.         ' Since no records are found, there isnt a username like dat,
  51.         ' Do failed Login
  52.         GoTo CloseUp:
  53.     Else
  54.         MsgBox Err.Description
  55.         Err.Clear
  56.         Resume Next
  57.     End If
  58. Exit Sub

REMEMBER: ALWAY DELETE MADE CONTROLS
ALWAYS CLOSE CONNECTIONS!

Insert use like:

VB Code:
  1. SQL = "INSERT INTO " & Table & " (field1, field2, field3) VALUES ('Field1Val', 'Field2Val', 'Field3Val')"

To do a "While(List(...)...){":

VB Code:
  1. Do until mrrs.EOF
  2.       ' Use it however you need to here
  3.       txtLog.SelText = myrs("uname") & vbcrlf
  4.       ' Move to the next record
  5.       myrs.MoveNext
  6. Loop


Hope this helps