Freigeben über


OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Methode

Definition

Gibt Schemainformationen aus einer Datenquelle entsprechend den Angaben einer GUID zurück und wendet anschließend die angegebenen Einschränkungen an.

public:
 System::Data::DataTable ^ GetOleDbSchemaTable(Guid schema, cli::array <System::Object ^> ^ restrictions);
public System.Data.DataTable? GetOleDbSchemaTable (Guid schema, 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

Parameter

schema
Guid

Einer der OleDbSchemaGuid-Werte, der die zurückzugebende Schematabelle angibt.

restrictions
Object[]

Ein Object-Array von Einschränkungswerten. Diese werden in der Reihenfolge der Einschränkungsspalten angewendet. Dies bedeutet, der erste Einschränkungswert gilt für die erste Einschränkungsspalte, der zweite Einschränkungswert gilt für die zweite Einschränkungsspalte usw.

Gibt zurück

Eine DataTable mit den angeforderten Schemainformationen.

Ausnahmen

Die angegebene Gruppe von Einschränkungen ist ungültig.

Das angegebene Schemarowset wird vom OLE DB-Provider nicht unterstützt.

- oder -

Der schema-Parameter enthält einen Wert von DbInfoLiterals, und der restrictions-Parameter enthält eine oder mehrere Einschränkungen.

Beispiele

Im folgenden Beispiel wird eine Liste von Tabellen in einer Datenbank zurückgegeben.

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

Hinweise

Die Schematabelle wird als eine DataTable zurückgegeben, die das gleiche Format wie das OLE DB-Schemarowset hat, das durch den schema Parameter angegeben wird. Verwenden Sie den restrictions Parameter, um die zeilen zu filtern, die in zurückgegeben DataTable werden sollen (z. B. durch Angeben von Einschränkungen für Tabellenname, Typ, Besitzer oder Schema). Wenn Sie Werte im Array übergeben, schließen Sie leere Zeichenfolgen oder NULLs für Arrayelemente ein, die keine Werte enthalten. Wenn Sie ein leeres Array an restrictionsübergeben, werden alle Zeilen (eine für jede Tabelle) in der Standardreihenfolge zurückgegeben. Die Werte im Array entsprechen der Reihenfolge der Spalten in der Quelltabelle und DataTable. Jedes Element im Einschränkungsarray wird mit dem Inhalt der entsprechenden Spalte im Schemarowset verglichen. Beispielsweise wird das erste Element im Einschränkungsarray mit der ersten Spalte im Rowset verglichen. Wenn ein Einschränkungselement nicht NULL ist, werden nur Zeilen aus dem Schemarowset hinzugefügt DataTable, die genau dem Wert der Einschränkung entsprechen.

Die OleDbConnection -Methode ruft die zugrunde liegende OLE DB-IDBSchemaRowset::GetRowset-Methode mithilfe von Common Language Runtime-Standardkonvertierungsregeln auf. Weitere Informationen finden Sie unter COM-Datentypen.

Sie können Informationen zu Literalen mithilfe DbInfoLiteralsvon abrufen. Dies stellt Informationen bereit, die dem Aufrufen der OLE DB IDBInfo::GetLiteralInfo-Schnittstelle oder der ADO Connection.OpenSchema-Methode mit der adSchemaDBInfoLiterals Konstanten entsprechen.

Gilt für:

Weitere Informationen