Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rst As New ADODB.Recordset
...
cnn.Open "..."
cmd.Name = "yourCommandName"
cmd.ActiveConnection = cnn
...
'Your command name, any parameters, and an optional Recordset.
cnn.yourCommandName "parameter", rst一个帮助文件下的事例,cmd.ActiveConnection = cnn什么意思看不懂,谁能详细!!!解释一下

解决方案 »

  1.   

    cmd.ActiveConnection = cnn
    为 Command 对象指定活动连接对象为 cnnCommand 通过 Connection 去访问数据库。
      

  2.   

    ActiveConnection 属性
          指示指定的 Command 或 Recordset 对象当前所属的 Connection 对象。设置和返回值设置或返回包含了定义连接或 Connection 对象的字符串。默认情况下为 Null 对象引用。说明使用 ActiveConnection 属性可确定在其上将执行指定 Command 对象或打开指定 Recordset 的 Connection 对象。命令对于 Command 对象,ActiveConnection 属性为读/写。在将该属性设置为打开的 Connection 对象或有效连接字符串之前,试图调用 Command 对象的 Execute 方法将产生错误。Microsoft Visual Basic   将 ActiveConnection 属性设置为 Nothing 可使 Command 对象与当前 Connection 脱离关联,并使提供者释放数据源上所有关联的资源。然后,可以使 Command 对象与相同的 Connection 对象或其他 Connection 对象关联。某些提供者允许将该属性设置从一个 Connection 更改到另一个 Connection,而不必首先将该属性设置为 Nothing。如果 Command 对象的 Parameter 集合包含提供者提供的参数,那么假如将 ActiveConnection 属性设置为 Nothing 或设置为其他 Connection 对象,将清除集合。如果手工创建 Parameter 对象并使用这些参数填充 Command 对象的 Parameters 集合,则将 ActiveConnection 属性设置为 Nothing 或其他 Connection 对象不会影响 Parameters 集合。关闭与 Command 对象相关联的 Connection 对象将把 ActiveConnection 属性设置为 Nothing。将该属性设置为已关闭的 Connection 对象将产生错误。Recordset对于打开的 Recordset 对象或其 Source 属性被设置为有效 Command 对象的 Recordset 对象,ActiveConnection 属性为只读。否则,该属性为读/写。可以将该属性设置为有效的 Connection 对象,或设置为有效的连接字符串。这时,提供者可使用该定义创建新的 Connection 对象,并打开连接。另外,提供者可以将该属性设置为新的 Connection 对象,以便向您提供访问扩展错误信息的 Connection 对象或执行其他命令。如果使用 Open 方法的 ActiveConnection 参数打开 Recordset 对象,ActiveConnection 属性将继承该参数的值。如果将 Recordset 对象的 Source 属性设置为有效 Command 对象变量,Recordset 的 ActiveConnection 属性将继承 Command 对象的 ActiveConnection 属性的设置。远程数据服务用法   在客户端 (ADOR) Recordset 对象上使用时,只能将该属性设置为连接字符串或(Microsoft Visual Basic 或 VBScript 中)Nothing
      

  3.   

    ActiveConnection、CommandText、CommandTimeout、CommandType、Size 和 Direction 属性范例
    该范例使用 ActiveConnection、CommandText、CommandTimeout、CommandType、Size 和 Direction 属性执行存储过程。Public Sub ActiveConnectionX()   Dim cnn1 As ADODB.Connection
       Dim cmdByRoyalty As ADODB.Command
       Dim prmByRoyalty As ADODB.Parameter
       Dim rstByRoyalty As ADODB.Recordset
       Dim rstAuthors As ADODB.Recordset
       Dim intRoyalty As Integer
       Dim strAuthorID As String
       Dim strCnn As String   ' 定义存储过程的命令对象。
       Set cnn1 = New ADODB.Connection
       strCnn = "Provider=sqloledb;" & _
          "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
       cnn1.Open strCnn
       Set cmdByRoyalty = New ADODB.Command
       Set cmdByRoyalty.ActiveConnection = cnn1
       cmdByRoyalty.CommandText = "byroyalty"
       cmdByRoyalty.CommandType = adCmdStoredProc
       cmdByRoyalty.CommandTimeout = 15
          
       ' 定义存储过程的输入参数。
       intRoyalty = Trim(InputBox( _
          "Enter royalty:"))
       Set prmByRoyalty = New ADODB.Parameter
       prmByRoyalty.Type = adInteger
       prmByRoyalty.Size = 3
       prmByRoyalty.Direction = adParamInput
       prmByRoyalty.Value = intRoyalty
       cmdByRoyalty.Parameters.Append prmByRoyalty
      
       ' 通过执行该命令创建记录集。
       Set rstByRoyalty = cmdByRoyalty.Execute()
          
       ' 打开作者表以便显示作者姓名。
       Set rstAuthors = New ADODB.Recordset
       rstAuthors.Open "authors", strCnn, , , adCmdTable
       
       ' 打印记录集中的当前数据,从作者表中添加作者姓名。
       Debug.Print "Authors with " & intRoyalty & _
          " percent royalty"
       Do While Not rstByRoyalty.EOF
          strAuthorID = rstByRoyalty!au_id
          Debug.Print , rstByRoyalty!au_id & ", ";
          rstAuthors.Filter = "au_id = '" & strAuthorID & "'"
          Debug.Print rstAuthors!au_fname & " " & _
             rstAuthors!au_lname
          rstByRoyalty.MoveNext
       Loop   rstByRoyalty.Close
       rstAuthors.Close
       cnn1.Close
       
    End Sub
      

  4.   

    使用 ActiveConnection 属性可确定在其上将执行指定 Command 对象或打开指定 Recordset 的 Connection 对象
      

  5.   


    cmd.ActiveConnection这一句的意思也就是cmd使用哪个数据库连接串
    cnn是你的数据库连接串
    cmd.ActiveConnection = cnn(cmd使用cnn定义的数据库连接串)
      

  6.   

    cmd.ActiveConnection为Command对象设置数据库连接为cnn