Udostępnij za pośrednictwem


OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metoda

Definicja

Zwraca informacje o schemacie ze źródła danych wskazanego przez identyfikator GUID, a po wprowadzeniu określonych ograniczeń.

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

Parametry

schema
Guid

OleDbSchemaGuid Jedna z wartości określających tabelę schematów do zwrócenia.

restrictions
Object[]

Tablica Object wartości ograniczeń. Są one stosowane w kolejności kolumn ograniczeń. Oznacza to, że pierwsza wartość ograniczenia ma zastosowanie do pierwszej kolumny ograniczeń, druga wartość ograniczenia ma zastosowanie do drugiej kolumny ograniczeń itd.

Zwraca

Element DataTable zawierający żądane informacje o schemacie.

Wyjątki

Określony zestaw ograniczeń jest nieprawidłowy.

Element OleDbConnection jest zamknięty.

Określony zestaw wierszy schematu nie jest obsługiwany przez dostawcę OLE DB.

-lub-

Parametr schema zawiera wartość i DbInfoLiteralsrestrictions parametr zawiera co najmniej jedno ograniczenie.

Przykłady

Poniższy przykład zwraca listę tabel w bazie danych.

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

Uwagi

Tabela schematu jest zwracana jako DataTable obiekt, który ma taki sam format jak zestaw wierszy schematu OLE DB określony przez schema parametr . Użyj parametru , aby filtrować wiersze, które mają być zwracane w elemecie restrictionsDataTable (na przykład przez określenie ograniczeń dotyczących nazwy tabeli, typu, właściciela lub schematu). Po przekazaniu wartości w tablicy należy uwzględnić puste ciągi lub wartości null dla elementów tablicy, które nie zawierają wartości. Jeśli przekażesz pustą tablicę do restrictions, wszystkie wiersze (jeden dla każdej tabeli) zostaną zwrócone w kolejności domyślnej. Wartości w tablicy odpowiadają kolejności kolumn w tabeli źródłowej i DataTable. Każdy element w tablicy ograniczeń jest porównywany z zawartością odpowiedniej kolumny w zestawie wierszy schematu. Na przykład pierwszy element w tablicy ograniczeń jest porównywany z pierwszą kolumną w zestawie wierszy. Jeśli element ograniczenia nie ma wartości null, tylko wiersze z zestawu wierszy schematu, które dokładnie pasują do wartości ograniczenia, są dodawane do wynikowego DataTable.

Metoda OleDbConnection wywołuje podstawową metodę IDBSchemaRowset::GetRowset przy użyciu standardowych reguł konwersji środowiska uruchomieniowego języka wspólnego. Aby uzyskać więcej informacji, zobacz COM Data Types (Typy danych COM).

Informacje o literałach można pobrać przy użyciu polecenia DbInfoLiterals. Zapewnia to informacje równoważne wywołaniu interfejsu IDBInfo::GetLiteralInfo OLE DB lub metody ADO Connection.OpenSchema ze stałą adSchemaDBInfoLiterals .

Dotyczy

Zobacz też