此頁沒有內(nèi)容條目
內(nèi)容

OpenSchema 方法范例

該范例使用 OpenSchema 方法顯示 Pubs 數(shù)據(jù)庫內(nèi)每個表的名稱和類型。

Public Sub OpenSchemaX()

   Dim cnn1 As ADODB.Connection

   Dim rstSchema As ADODB.Recordset

   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 rstSchema = cnn1.OpenSchema(adSchemaTables)

   Do Until rstSchema.EOF

      Debug.Print "Table name: " & _

         rstSchema!TABLE_NAME & vbCr & _

         "Table type: " & rstSchema!TABLE_TYPE & vbCr

      rstSchema.MoveNext

   Loop

   rstSchema.Close

   cnn1.Close

End Sub

該范例在 OpenSchema 方法的 Criteria 參數(shù)中指定 TABLE_TYPE 查詢約束。因此,只返回在 Pubs 數(shù)據(jù)庫中指定視圖的模式信息。然后該范例顯示每個表的名稱和類型。

Public Sub OpenSchemaX2()

   Dim cnn2 As ADODB.Connection

   Dim rstSchema As ADODB.Recordset

   Dim strCnn As String

   Set cnn2 = New ADODB.Connection

      strCnn = "Provider=sqloledb;" & _

      "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "

   cnn2.Open strCnn

   Set rstSchema = cnn2.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "VIEW"))

      Do Until rstSchema.EOF

         Debug.Print "Table name: " & _

            rstSchema!TABLE_NAME & vbCr & _

            "Table type: " & rstSchema!TABLE_TYPE & vbCr

         rstSchema.MoveNext

      Loop

   rstSchema.Close

   cnn2.Close

End Sub