OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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á.
To OleDbConnection je uzavřeno.
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 .