Source 属性范例

该范例通过打开三个基于不同数据源的 Recordset 对象演示 Source 属性。

Public Sub SourceX()

   Dim cnn1 As ADODB.Connection
   Dim rstTitles As ADODB.Recordset
   Dim rstPublishers As ADODB.Recordset
   Dim rstPublishersDirect As ADODB.Recordset
   Dim rstTitlesPublishers As ADODB.Recordset
   Dim cmdSQL As ADODB.Command
   Dim strCnn As String
   Dim strSQL As String

   ' 打开连接。
   Set cnn1 = New ADODB.Connection
   strCnn = "Provider=sqloledb;" & _
      "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
   cnn1.Open strCnn
   
   ' 打开基于命令对象的记录集。
   Set cmdSQL = New ADODB.Command
   Set cmdSQL.ActiveConnection = cnn1
   cmdSQL.CommandText = "Select title, type, pubdate " & _
      "FROM titles ORDER BY title"
   Set rstTitles = cmdSQL.Execute()
   
   ' 打开基于表的记录集。
   Set rstPublishers = New ADODB.Recordset
   rstPublishers.Open "publishers", strCnn, , , adCmdTable
   
   ' 打开基于表的记录集。
   Set rstPublishersDirect = New ADODB.Recordset
   rstPublishersDirect.Open "publishers", strCnn, , , adCmdTableDirect
   

   ' 打开基于 SQL 字符串的记录集。
   Set rstTitlesPublishers = New ADODB.Recordset
   strSQL = "SELECT title_ID AS TitleID, title AS Title, " & _
      "publishers.pub_id AS PubID, pub_name AS PubName " & _
      "FROM publishers INNER JOIN titles " & _
      "ON publishers.pub_id = titles.pub_id " & _
      "ORDER BY Title"
   rstTitlesPublishers.Open strSQL, strCnn, , , adCmdText

   ' 使用 Source 属性显示每个记录集的资源。
   MsgBox "rstTitles source: " & vbCr & _
      rstTitles.Source & vbCr & vbCr & _
      "rstPublishers source: " & vbCr & _
      rstPublishers.Source & vbCr & vbCr & _
      "rstPublishersDirect source: " & vbCr & _
      rstPublishersDirect.Source & vbCr & vbCr & _
      "rstTitlesPublishers source: " & vbCr & _
      rstTitlesPublishers.Source

   rstTitles.Close
   rstPublishers.Close
   rstTitlesPublishers.Close
   cnn1.Close

End Sub