Sdílet prostřednictvím


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);
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čuje tabulku schématu, která se má vrátit.

restrictions
Object[]

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

Návraty

A DataTable , který obsahuje požadované informace o schématu.

Výjimky

Zadaná sada omezení je neplatná.

Zprostředkovatel OLE DB nepodporuje zadanou sadu řádků schématu.

-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 je vrácena jako DataTable , která má stejný formát jako sada řádků schématu OLE DB určená parametrem schema . Pomocí parametru restrictions vyfiltrujte řádky, které se mají vrátit v objektu DataTable (například zadáním omezení pro název tabulky, typ, vlastníka nebo schéma). Při předávání hodnot v poli zahrňte prázdné řetězce nebo hodnoty null pro prvky pole, které neobsahují hodnoty. Pokud předáte prázdné pole do restrictions, všechny řádky (jeden pro každou tabulku) se vrátí ve výchozím pořadí. Hodnoty v poli odpovídají pořadí sloupců ve zdrojové tabulce a DataTable. Každý prvek v poli omezení je porovnán s obsahem odpovídajícího sloupce v sadě řádků schématu. Například první prvek v poli omezení je porovnán s prvním sloupcem v sadě řádků. Pokud prvek omezení nemá hodnotu null, pouze řádky ze schématu řádky, které přesně odpovídají hodnotě omezení jsou přidány do výsledné DataTable.

Metoda OleDbConnection volá podkladovou metodu OLE DB IDBSchemaRowset::GetRowset pomocí standardních pravidel převodu common language runtime. Další informace najdete v tématu Datové typy modelu COM.

Informace o literálech můžete načíst pomocí .DbInfoLiterals Poskytuje informace ekvivalentní volání OLE DB IDBInfo::GetLiteralInfo rozhraní nebo ADO Connection.OpenSchema metoda s konstantou adSchemaDBInfoLiterals .

Platí pro

Viz také