'创建一个连接函数(连接到SQL)
'函数名:CreateSqlConn
'参数:DbConnectionADODB 连接,ServerName 服务器名,DBname 数据库名,UserID 登陆用户名,UPw 登陆密码,Timeout 连接超时
'返回值:TRUE 连接成功,FALSE 连接失败
'例:   CreateSqlConn p_cnn, "CJH", "cjherp001", "sa", "123", 15
Public Function CreateSqlConn(ByRefDbConnection As ADODB.Connection, _
                              ServerName As String, _
                              DbName As String, _
                              UserID As String, _
                              UPw As String, _
                              Optional Timeout As Long = 15) As Boolean
                              
        Dim ReturnVal As Boolean
        
        On Error Resume Next
        
        If DbConnection.state = adStateOpen And Not IsEmpty(adStateOpen) Then
           DbConnection.Close
        End If
        
        '连接
        DbConnection.Provider = "MSDASQL.1"
        DbConnection.ConnectiongString = "Driver = {SQL Server}; Server =" & WXD & "; DataBase = " & RDMS & "; Uid = " & sa & "; Pwd = " & "; Connect Timeout = " & Timerout & ";"
End Function调用连接SQL数据库函数
Sub main()
    Call CreateSqlConn
End Sub我这么写有什么问题吗?我是在模块里定义的连接函数,在模块里启动程序时先连接数据库。

解决方案 »

  1.   

    例: Call  CreateSqlConn p_cnn, "CJH", "cjherp001", "sa", "123", 15
      

  2.   

    sub main()
       DIM CONN As new ADODB.Connection
       if  CreateSqlConn(p_cnn, "CJH", "cjherp001", "sa", "123", 15)=true then
        ........
       end if
    end subPublic Function CreateSqlConn(ByRefDb Connection As ADODB.Connection, _
                                  ServerName As String, _
                                  DbName As String, _
                                  UserID As String, _
                                  UPw As String, _
                                  Optional Timeout As Long = 15) As Boolean
    .........
    ........
    ''如果连接成功
    CreateSqlConn=true
    end function