OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metod

Definition

Returnerar schemainformation från en datakälla som anges av ett GUID och efter att de angivna begränsningarna har införts.

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

Parametrar

schema
Guid

Ett av de OleDbSchemaGuid värden som anger vilken schematabell som ska returneras.

restrictions
Object[]

En Object matris med begränsningsvärden. Dessa tillämpas i ordning på begränsningskolumnerna. Det innebär att det första begränsningsvärdet gäller för den första begränsningskolumnen, det andra begränsningsvärdet gäller för den andra begränsningskolumnen och så vidare.

Returer

En DataTable som innehåller den begärda schemainformationen.

Undantag

Den angivna uppsättningen begränsningar är ogiltig.

Den angivna schemaraduppsättningen stöds inte av OLE DB-providern.

-eller-

Parametern schema innehåller värdet och DbInfoLiterals parametern restrictions innehåller en eller flera begränsningar.

Exempel

Följande exempel returnerar en lista över tabeller i en databas.

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

Kommentarer

Schematabellen returneras som en DataTable som har samma format som ole db-schemaraduppsättningen som anges av parametern schema . Använd parametern restrictions för att filtrera de rader som ska returneras i DataTable (till exempel genom att ange begränsningar för tabellnamn, typ, ägare eller schema). När du skickar värden i matrisen ska du inkludera tomma strängar eller nullvärden för matriselement som inte innehåller värden. Om du skickar en tom matris till restrictionsreturneras alla rader (en för varje tabell) i standardordning. Värden i matrisen motsvarar ordningen på kolumnerna i källtabellen och DataTable. Varje element i begränsningsmatrisen jämförs med innehållet i motsvarande kolumn i schemaraduppsättningen. Det första elementet i begränsningsmatrisen jämförs till exempel med den första kolumnen i raduppsättningen. Om ett begränsningselement inte är null läggs endast rader från schemaraduppsättningen som exakt matchar värdet för begränsningen till i den resulterande DataTable.

Metoden OleDbConnection anropar den underliggande OLE DB IDBSchemaRowset::GetRowset-metoden med vanliga regler för språkkonvertering. Mer information finns i COM-datatyper.

Du kan hämta information om literaler med hjälp DbInfoLiteralsav . Detta ger information som motsvarar att anropa OLE DB IDBInfo::GetLiteralInfo-gränssnittet eller metoden ADO Connection.OpenSchema med konstanten adSchemaDBInfoLiterals .

Gäller för

Se även