我想把一个单线程的数据库访问程序改写成一个多线程数据库访问程序,于是将单线程中数据库连接函数整个移动到子线程中。但却总是连接失败,以前单线程时却没出现任何问题,不知什么原因,请教VB高手。下附源码:Public Sub StartConnectThread()
 On Error Resume Next
        Dim n As Long
        Static nn As Integer
        Dim blReturn As Boolean
        Dim strCnn As String
        Dim rstTmp As ADODB.Recordset
        '连接数据库
        strCnn = "driver={SQL Server};server=" & glsLocalset.pstrDatabaseSeverName & ";" & "uid=" & glsLocalset.pstrDatabaseUserName & ";pwd=" & glsLocalset.pstrDatabaseUserPassword & ";database=" & glsLocalset.pstrDatabaseName
        Set cnn1 = New ADODB.Connection
        cnn1.Open strCnn
        If cnn1.State <= 0 Then
             MessageOut "连接数据库失败,请检测数据库设置!"
            Exit Sub
        End If
End Sub此函数在以前的单线程程序中运行完全正常,但移植到子线程中,cnn1.State中的值就总是不大于0,调试时其中的值为<object variable or with block variable not set>请高手帮忙!是否多线程连接数据库时还有其他的写法?其他的声明方法?