OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) 方法

定義

從資料來源回傳結構資訊,並依 GUID 指示,並在套用指定限制後。

public:
 System::Data::DataTable ^ GetOleDbSchemaTable(Guid schema, cli::array <System::Object ^> ^ restrictions);
public System.Data.DataTable GetOleDbSchemaTable(Guid schema, object[] restrictions);
member this.GetOleDbSchemaTable : Guid * obj[] -> System.Data.DataTable
Public Function GetOleDbSchemaTable (schema As Guid, restrictions As Object()) As DataTable

參數

schema
Guid

OleDbSchemaGuid其中一個值是指定要回傳的結構表。

restrictions
Object[]

Object 組限制值陣列。 這些限制依限制欄的順序施加。 也就是說,第一個限制值適用於第一個限制欄,第二個限制值適用於第二個限制欄,依此類推。

傳回

DataTable A 包含所請求的結構資訊。

例外狀況

指定的限制集合是無效的。

OLE DB 提供者不支援指定的結構列集。

-或-

參數 schema 包含一個值, DbInfoLiterals 參數 restrictions 包含一個或多個限制。

範例

以下範例回傳資料庫中的資料表清單。

static DataTable GetSchemaTable(string connectionString)
{
    using (OleDbConnection connection = new
               OleDbConnection(connectionString))
    {
        connection.Open();
        DataTable schemaTable = connection.GetOleDbSchemaTable(
            OleDbSchemaGuid.Tables,
            new object[] { null, null, null, "TABLE" });
        return schemaTable;
    }
}
Public Function GetSchemaTable(ByVal connectionString As String) _
    As DataTable

    Using connection As New OleDbConnection(connectionString)
        connection.Open()

        Dim schemaTable As DataTable = _
            connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
            New Object() {Nothing, Nothing, Nothing, "TABLE"})
        Return schemaTable
    End Using
End Function

備註

結構表以 a DataTable 形式回傳,格式與參數指定的 schema OLE DB 架構列集相同。 使用參數 restrictions 來篩選要回傳的資料 DataTable 列(例如,透過指定資料表名稱、類型、擁有者或結構的限制)。 當你在陣列中傳遞值時,請為不包含值的陣列元素加入空字串或空。 如果你將空陣列傳給 restrictions,所有列(每個資料表一列)都會以預設順序回傳。 陣列中的值對應於來源表中欄位的順序。DataTable 限制陣列中的每個元素都會與結構列中對應欄位的內容進行比較。 例如,限制陣列中的第一個元素與列集的第一欄比較。 若限制元素非空,則僅會加入結構列集中與限制值完全相符的列。DataTable

此方法呼叫 OleDbConnection 底層的 OLE DB IDBSchemaRowset::GetRowset 方法,使用標準通用語言執行時轉換規則。 欲了解更多資訊,請參閱 COM 資料型別

你可以透過使用 DbInfoLiterals來取得關於文字的資訊。 此資訊相當於呼叫 OLE DB IDBInfo::GetLiteralInfo 介面,或使用 ADO Connection.OpenSchema 方法(常 adSchemaDBInfoLiterals 數)。

適用於

另請參閱