VB6 用ADO连接mysql解决方法

VB6 用ADO连接mysql

Public Function MysqlDataOpen(ByVal gcnmysql1 As ADODB.Connection, ByVal server As String, ByVal port As String, ByVal username As String, ByVal pwd As String, ByVal database As String) As Boolean
    On Error Resume Next
    DoEvents
    With gcnmysql1
        .Provider = "MSDASQL"
        If .State = adStateOpen Then
            .Close
        End If
        MsgBox .State
        .ConnectionString = "driver={mysql odbc 5.1 driver};server=" & server & ";port=" & port & ";uid=" & username & ";pwd=" & pwd & ";database=" & database & ";OPTION=3"
        .Open
        If Err <> 0 Then
            MsgBox "连接失败!(请确保用户名与密码输入无误)", vbInformation, "数据库连接"
            MsgBox Err.Description
            Exit Function
        End If
    End With
    MysqlDataOpen = True
End Function



上面是代码,我就测试这个方法,第一次连接是成功的,当我再次调用这个方法是,提示对象已打开,不允许操作,问题我上面有关闭的代码啊,为什么还提示打开了,我都没用rs,
------解决方案--------------------
ByVal gcnmysql1 As ADODB.Connection这里有问题