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.Returns schema information from a data source as indicated by a GUID, and after it applies the specified restrictions.

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

Parameter

schema
Guid

Einer der OleDbSchemaGuid-Werte, der die zurückzugebende Schematabelle angibt.One of the OleDbSchemaGuid values that specifies the schema table to return.

restrictions
Object[]

Ein Object-Array von Einschränkungswerten.An Object array of restriction values. Diese werden in der Reihenfolge der Einschränkungsspalten angewendet.These are applied in the order of the restriction columns. Das heißt, dass der erste Einschränkungswert auf die erste Einschränkungsspalte, der zweite Einschränkungswert auf die zweite Einschränkungsspalte angewendet wird usw.That is, the first restriction value applies to the first restriction column, the second restriction value applies to the second restriction column, and so on.

Gibt zurück

Eine DataTable mit den angeforderten Schemainformationen.A DataTable that contains the requested schema information.

Ausnahmen

Die angegebene Gruppe von Einschränkungen ist ungültig.The specified set of restrictions is invalid.

Der OleDbConnection ist geschlossen.The OleDbConnection is closed.

Das angegebene Schemarowset wird vom OLE DB-Provider nicht unterstützt.The specified schema rowset is not supported by the OLE DB provider.

- oder --or- Der schema-Parameter enthält einen Wert von DbInfoLiterals, und der restrictions-Parameter enthält eine oder mehrere Einschränkungen.The schema parameter contains a value of DbInfoLiterals and the restrictions parameter contains one or more restrictions.

Beispiele

Im folgenden Beispiel wird eine Liste der Tabellen in einer-Datenbank zurückgegeben.The following sample returns a list of tables in a database.

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 Schema Tabelle wird als DataTable zurückgegeben, die das gleiche Format wie das OLE DB Schemarowset hat, das vom schema-Parameter angegeben wird.The schema table is returned as a DataTable that has the same format as the OLE DB schema rowset specified by the schema parameter. Verwenden Sie den restrictions-Parameter, um die Zeilen zu filtern, die im DataTable zurückgegeben werden sollen (z. b. durch Angeben von Einschränkungen für den Tabellennamen, den Typ, den Besitzer oder das Schema).Use the restrictions parameter to filter the rows to be returned in the DataTable (for example, by specifying restrictions for table name, type, owner, or schema). Wenn Sie Werte im Array übergeben, schließen Sie leere Zeichen folgen oder NULL-Werte für Array Elemente ein, die keine Werte enthalten.When you pass values in the array, include empty strings or nulls for array elements that do not contain values. Wenn Sie ein leeres Array an restrictionsübergeben, werden alle Zeilen (eine für jede Tabelle) in der Standard Reihenfolge zurückgegeben.If you pass an empty array to restrictions, all rows (one for each table) are returned in default order. Werte im-Array entsprechen der Reihenfolge der Spalten in der Quell Tabelle und DataTable.Values in the array correspond to the order of the columns in the source table and DataTable. Jedes Element im Einschränkungs Array wird mit dem Inhalt der entsprechenden Spalte im Schemarowset verglichen.Each element in the restrictions array is compared with the content of the corresponding column in the schema rowset. Beispielsweise wird das erste Element im Einschränkungs Array mit der ersten Spalte im Rowset verglichen.For example, the first element in the restrictions array is compared to first column in the rowset. Wenn ein Einschränkungs Element nicht NULL ist, werden nur Zeilen aus dem Schemarowset, die exakt mit dem Wert der Einschränkung übereinstimmen, dem resultierenden DataTablehinzugefügt.If a restriction element is not null, only rows from the schema rowset that exactly match the value of the restriction are added to the resulting DataTable.

Die OleDbConnection-Methode ruft die zugrunde liegende OLE DB IDBSchemaRowset:: GetRowset -Methode mithilfe von standardmäßigen Common Language Runtime-Konvertierungsregeln auf.The OleDbConnection method calls the underlying OLE DB IDBSchemaRowset::GetRowset method using standard common language runtime conversion rules. Weitere Informationen finden Sie unter com-Datentypen.For more information, see COM Data Types.

Sie können Informationen zu Literalen abrufen, indem Sie DbInfoLiteralsverwenden.You can retrieve information about literals by using DbInfoLiterals. Diese enthält Informationen, die dem Aufrufen der OLE DB IDBInfo:: GetLiteralInfo -Schnittstelle oder der ADO Connection. OpenSchema -Methode mit der adSchemaDBInfoLiterals-Konstante entsprechen.This provides information equivalent to calling the OLE DB IDBInfo::GetLiteralInfo interface, or the ADO Connection.OpenSchema method with the adSchemaDBInfoLiterals constant.

Gilt für:

Siehe auch