http://expert.csdn.net/Expert/topic/2221/2221389.xml?temp=.2510645

解决方案 »

  1.   

    来自MSDN:
    ......
       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
       Set rstAuthors = datagrid1.DataSource ____ 注意这里! 
    '   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错误信息:行集合不能作为标签
      

  2.   

    对不起写错了
    Set datagrid1.datasource=rstAuthors
      

  3.   

    MSDN是参考资料,每人声明过都被调试过有错是正常的!
      

  4.   

    孰能无错!
    但我希望怎样实现VB调用SQL2000的储住过程!