OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metoda

Definice

Vrátí informace o schématu ze zdroje dat podle identifikátoru GUID a po použití zadaných omezení.

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

Parametry

schema
Guid

Jedna z OleDbSchemaGuid hodnot, které určují tabulku schématu, která se má vrátit.

restrictions
Object[]

Pole Object hodnot omezení. Tyto sloupce se použijí v pořadí sloupců omezení. To znamená, že první hodnota omezení se vztahuje na první sloupec omezení, druhá hodnota omezení se vztahuje na druhý sloupec omezení atd.

Návraty

A DataTable obsahující požadované informace o schématu.

Výjimky

Zadaná sada omezení je neplatná.

Zadaná sada řádků schématu není podporována zprostředkovatelem OLE DB.

nebo

Parametr schema obsahuje hodnotu DbInfoLiterals a restrictions parametr obsahuje jedno nebo více omezení.

Příklady

Následující ukázka vrátí seznam tabulek v databázi.

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

Poznámky

Tabulka schématu se vrátí jako DataTable formát, který má stejný formát jako sada řádků schématu OLE DB určená parametrem schema . Pomocí parametru restrictions můžete filtrovat řádky, které se mají vrátit v DataTable poli (například zadáním omezení pro název tabulky, typ, vlastník nebo schéma). Když předáte hodnoty v poli, zahrňte prázdné řetězce nebo hodnoty null pro prvky pole, které neobsahují hodnoty. Pokud předáte prázdné pole restrictions, vrátí se ve výchozím pořadí všechny řádky (jeden pro každou tabulku). Hodnoty v poli odpovídají pořadí sloupců ve zdrojové tabulce a DataTable. Každý prvek v poli omezení se porovná s obsahem odpovídajícího sloupce v sadě řádků schématu. Například první prvek v poli omezení se porovná s prvním sloupcem v sadě řádků. Pokud prvek omezení není null, do výsledné DataTablesady řádků se přidají pouze řádky ze sady řádků schématu, které přesně odpovídají hodnotě omezení .

Metoda OleDbConnection volá základní metodu OLE DB IDBSchemaRowset::GetRowset pomocí standardních pravidel převodu modulu CLR (Common Language Runtime). Další informace naleznete v tématu Datové typy modelu COM.

Informace oliterch DbInfoLiterals Poskytuje informace ekvivalentní volání OLE DB IDBInfo::GetLiteralInfo rozhraní nebo ADO Connection.OpenSchema metoda s konstantou adSchemaDBInfoLiterals .

Platí pro

Viz také