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);
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á.
Je OleDbConnection zavřený.
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
.