OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.
Der OleDbConnection ist geschlossen.
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.