Sun Chili!Soft ASP Sun Chili!Soft
ASP Sun Microsystems

 

ADO Command Object ActiveConnection Property

Specifies to which Connection object the specified Command object currently belongs.

ActiveConnection Property Return Values (ADO Command Object)

Sets or returns a String containing the definition for a connection or a Connection object. Default is a Null object reference.

ActiveConnection Property Remarks (ADO Command Object)

Use the ActiveConnection property to determine the Connection object over which the specified Command object will execute.

For Command objects, the ActiveConnection property is read/write. If you attempt to call the ADO Command Object Execute Method on a Command object before setting this property to an open ADO Connection Object or valid connection string, an error occurs. Setting the ActiveConnection property to Nothing disassociates the Command object from the current Connection and causes the provider to release any associated resources on the data source. You can then associate the Command object with the same or another Connection object. Some providers allow you to change the property setting from one Connection to another, without having to first set the property to Nothing.

If the ADO Parameters Collection of the Command object contains parameters supplied by the provider, the collection is cleared if you set the ActiveConnection property to Nothing or to another Connection object. If you manually create ADO Parameter Object objects and use them to fill the Parameters collection of the Command object, setting the ActiveConnection property to Nothing or to another Connection object leaves the Parameters collection intact.

Closing the Connection object with which a Command object is associated sets the ActiveConnection property to Nothing. Setting this property to a closed Connection object generates an error.

ActiveConnection Property Example (ADO Command Object)

This Visual Basic example uses the ActiveConnection, ADO Command Object CommandText Property, CommandTimeout, ADO Command Object CommandType Property, ADO Field Object ActualSize Property, and ADO Parameter Object Direction Property properties to execute a stored procedure:

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

` Define a command object for a stored procedure.

Set cnn1 = New ADODB.Connection

strCnn = "driver={SQL Server};server=srv;" & _

"uid=sa;pwd=;database=pubs"

cnn1.Open strCnn

Set cmdByRoyalty = New ADODB.Command

Set cmdByRoyalty.ActiveConnection = cnn1

cmdByRoyalty.CommandText = "byroyalty"

cmdByRoyalty.CommandType = adCmdStoredProc

cmdByRoyalty.CommandTimeout = 15

` Define the stored procedure's input parameter.

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

` Create a recordset by executing the command.

Set rstByRoyalty = cmdByRoyalty.Execute()

` Open the Authors table to get author names for display.

Set rstAuthors = New ADODB.Recordset

rstAuthors.Open "authors", strCnn, , , adCmdTable

` Print current data in the recordset, adding

` author names from Authors table.

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

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Legal Notice.