OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Methode

Definition

Gibt Schemainformationen aus einer Datenquelle zurück, wie durch eine GUID angegeben, und nachdem die angegebenen Einschränkungen angewendet wurden.

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, die die zurückzugebende Schematabelle angibt.

restrictions
Object[]

Ein Object Array von Einschränkungswerten. Diese werden in der Reihenfolge der Einschränkungsspalten angewendet. Das heißt, 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 , die die angeforderten Schemainformationen enthält.

Ausnahmen

Der angegebene Satz von Einschränkungen ist ungültig.

Das angegebene Schema-Rowset wird vom OLE DB-Anbieter nicht unterstützt.

-oder-

Der schema Parameter enthält einen Wert und DbInfoLiterals 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 ein DataTable Format zurückgegeben, das dasselbe Format wie das vom Parameter angegebene schema OLE DB-Schema-Rowset aufweist. Verwenden Sie den restrictions Parameter, um die Zeilen zu filtern, die DataTable zurückgegeben 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 Nullen für Arrayelemente ein, die keine Werte enthalten. Wenn Sie ein leeres Array restrictionsan übergeben, werden alle Zeilen (eine für jede Tabelle) in Standardreihenfolge zurückgegeben. 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 Schema-Rowset 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 Schema-Rowset, die exakt mit dem Wert der Einschränkung übereinstimmen, dem resultierenden DataTablehinzugefügt.

Die OleDbConnection Methode ruft die zugrunde liegende OLE DB IDBSchemaRowset::GetRowset-Methode mithilfe von Standardkonvertierungsregeln für common language runtime auf. Weitere Informationen finden Sie unter COM-Datentypen.

Sie können Informationen zu Literalen mithilfe von DbInfoLiterals. Dadurch werden Informationen bereitgestellt, die dem Aufrufen der OLE DB IDBInfo::GetLiteralInfo-Schnittstelle oder der ADO Connection.OpenSchema-Methode mit der adSchemaDBInfoLiterals Konstante entsprechen.

Gilt für:

Weitere Informationen