OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Methode

Definitie

Retourneert schemagegevens uit een gegevensbron zoals aangegeven door een GUID en nadat deze de opgegeven beperkingen heeft toegepast.

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

Parameters

schema
Guid

Een van de OleDbSchemaGuid waarden die de schematabel aangeeft die moeten worden geretourneerd.

restrictions
Object[]

Een Object matrix met beperkingswaarden. Deze worden toegepast in de volgorde van de beperkingskolommen. De eerste beperkingswaarde is van toepassing op de eerste beperkingskolom, de tweede beperkingswaarde is van toepassing op de tweede beperkingskolom, enzovoort.

Retouren

Een DataTable met de aangevraagde schemagegevens.

Uitzonderingen

De opgegeven set beperkingen is ongeldig.

De opgegeven schemarijset wordt niet ondersteund door de OLE DB-provider.

– of –

De schema parameter bevat een waarde van DbInfoLiterals en de restrictions parameter bevat een of meer beperkingen.

Voorbeelden

In het volgende voorbeeld wordt een lijst met tabellen in een database geretourneerd.

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

Opmerkingen

De schematabel wordt geretourneerd als een tabel DataTable met dezelfde indeling als de ole DB-schemarijset die is opgegeven door de schema parameter. Gebruik de restrictions parameter om de rijen te filteren die moeten worden geretourneerd in de DataTable tabel (bijvoorbeeld door beperkingen op te geven voor tabelnaam, type, eigenaar of schema). Wanneer u waarden in de matrix doorgeeft, moet u lege tekenreeksen of null-waarden opnemen voor matrixelementen die geen waarden bevatten. Als u een lege matrix doorgeeft aan restrictions, worden alle rijen (één voor elke tabel) in de standaardvolgorde geretourneerd. Waarden in de matrix komen overeen met de volgorde van de kolommen in de brontabel en DataTable. Elk element in de beperkingenmatrix wordt vergeleken met de inhoud van de bijbehorende kolom in de schemarijset. Het eerste element in de beperkingenmatrix wordt bijvoorbeeld vergeleken met de eerste kolom in de rijenset. Als een beperkingselement niet null is, worden alleen rijen uit de schemarijset die exact overeenkomen met de waarde van de beperking toegevoegd aan het resulterende DataTableelement.

De OleDbConnection methode roept de onderliggende OLE DB IDBSchemaRowset::GetRowset-methode aan met behulp van standaard algemene runtime-conversieregels voor de taal. Zie COM-gegevenstypen voor meer informatie.

U kunt informatie over letterlijke waarden ophalen met behulp van DbInfoLiterals. Dit biedt informatie die gelijk is aan het aanroepen van de OLE DB IDBInfo::GetLiteralInfo-interface of de ADO Connection.OpenSchema-methode met de adSchemaDBInfoLiterals constante.

Van toepassing op

Zie ook