ActiveConnection, CommandText, CommandTimeout, CommandType, Size, and Direction Properties Example
This example uses the ActiveConnection, CommandText, CommandTimeout, CommandType, Size, and Direction 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
© 1997 Microsoft Corporation. All rights reserved. |