OleDbDataReader.GetSchemaTable 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í hodnotu DataTable , která popisuje metadata OleDbDataReadersloupce .
public:
override System::Data::DataTable ^ GetSchemaTable();
public:
virtual System::Data::DataTable ^ GetSchemaTable();
public override System.Data.DataTable? GetSchemaTable();
public System.Data.DataTable GetSchemaTable();
public override System.Data.DataTable GetSchemaTable();
override this.GetSchemaTable : unit -> System.Data.DataTable
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Overrides Function GetSchemaTable () As DataTable
Public Function GetSchemaTable () As DataTable
Návraty
A DataTable , který popisuje metadata sloupce.
Implementuje
Výjimky
To OleDbDataReader je uzavřeno.
Poznámky
Metoda GetSchemaTable mapuje na OLE DB IColumnsRowset::GetColumnsRowset metoda a vrací metadata o každém sloupci v následujícím pořadí:
| Sloupec DataReader | ID sloupce OLE DB | Description |
|---|---|---|
| ColumnName | DBCOLUMN_NAME | Název sloupce; to nemusí být jedinečné. Pokud tuto hodnotu nelze určit, vrátí se hodnota null. Tento název vždy odráží nejnovější přejmenování sloupce v aktuálním zobrazení nebo textu příkazu. |
| Sloupcový pořadový | DBCOLUMN_NUMBER | Pořadový řádek založený na nule sloupce. Tento sloupec nemůže obsahovat hodnotu null. |
| Velikost sloupce | DBCOLUMN_COLUMNSIZE | Maximální možná délka hodnoty ve sloupci. U sloupců, které používají datový typ s pevnou délkou, je to velikost datového typu. |
| NumericPrecision | DBCOLUMN_PRECISION | Pokud je DbType číselný datový typ, jedná se o maximální přesnost sloupce. Přesnost sloupců s datovým typem DBTYPE_DECIMAL nebo DBTYPE_NUMERIC závisí na definici sloupce. Pokud DbType není číselný datový typ, jedná se o hodnotu null. |
| NumericScale | DBCOLUMN_SCALE | Pokud je dbType DBTYPE_DECIMAL nebo DBTYPE_NUMERIC, jedná se o počet číslic napravo od desetinné čárky. V opačném případě se jedná o hodnotu null. |
| datový typ | None | Mapuje se na typ .NET sloupce. |
| ProviderType | DBCOLUMN_TYPE | Indikátor datového typu sloupce. Pokud se datový typ sloupce liší od řádku po řádek, musí být DBTYPE_VARIANT. Tento sloupec nemůže obsahovat hodnotu null. |
| IsLong | DBCOLUMNFLAGS_ISLONG | Zprostředkovatel nastaví DBCOLUMNFLAGS_ISLONG, pokud sloupec obsahuje objekt BLOB (Binary Long Object), který obsahuje velmi dlouhá data. Definice velmi dlouhých dat je specifická pro poskytovatele. Nastavení tohoto příznaku odpovídá hodnotě IS_LONG sloupce v sadě řádků PROVIDER_TYPES datového typu. |
| Allowdbnull | DBCOLUMNFLAGS_ISNULLABLE | Zprostředkovatel nastaví DBCOLUMNFLAGS_ISNULLABLE, pokud příjemce může nastavit sloupec na hodnotu null, nebo pokud zprostředkovatel nemůže určit, zda příjemce může nastavit sloupec na hodnotu null. Sloupec může obsahovat hodnoty null, i když ho nelze nastavit na hodnotu null. |
| Je pouze pro čtení | DBCOLUMNFLAGS_WRITE |
true pokud sloupec nelze změnit; jinak false. Sloupec se předpokládá, že je zapisovatelný, pokud poskytovatel nastavil příznak DBCOLUMNFLAGS_WRITE nebo DBCOLUMNFLAGS_WRITEUNKNOWN. |
| IsRowVersion | DBCOLUMNFLAGS_ISROWID | Zprostředkovatel nastaví DBCOLUMNFLAGS_ISROWID, pokud sloupec obsahuje trvalý identifikátor řádku, do kterého nelze zapisovat, a nemá žádnou smysluplnou hodnotu s výjimkou identity řádku. |
| IsUnique | DBCOLUMN_ISUNIQUE | VARIANT_TRUE: V základní tabulce nesmí být žádné dva řádky v tabulce vrácené v baseTableName-může mít stejnou hodnotu v tomto sloupci. IsUnique je zaručeno, že být VARIANT_TRUE pokud sloupec představuje klíč sám nebo pokud existuje omezení typu UNIQUE, které platí pouze pro tento sloupec. VARIANT_FALSE: Sloupec může obsahovat duplicitní hodnoty v základní tabulce. Výchozí hodnota tohoto sloupce je VARIANT_FALSE. |
| Iskey | DBCOLUMN_KEYCOLUMN | VARIANT_TRUE: Sloupec je jednou ze sady sloupců v sadě řádků, které společně jednoznačně identifikují řádek. Sada sloupců se sadou IsKey nastavenou na VARIANT_TRUE musí jednoznačně identifikovat řádek v sadě řádků. Není nutné, aby tato sada sloupců byla minimální sadou sloupců. Tato sada sloupců se může generovat z primárního klíče základní tabulky, jedinečného omezení nebo jedinečného indexu. VARIANT_FALSE: Sloupec není nutný k jednoznačné identifikaci řádku. |
| IsAutoIncrement | DBCOLUMN_ISAUTOINCREMENT | VARIANT_TRUE: Sloupec přiřazuje hodnoty novým řádkům v pevných přírůstcích. VARIANT_FALSE: Sloupec nepřiřazuje hodnoty novým řádkům v pevných přírůstcích. Výchozí hodnota tohoto sloupce je VARIANT_FALSE. |
| BaseSchemaName | DBCOLUMN_BASESCHEMANAME | Název schématu v úložišti dat, který obsahuje sloupec. Hodnota null, pokud nelze určit název základního schématu. Výchozí hodnota tohoto sloupce je null. |
| BaseCatalogName | DBCOLUMN_BASECATALOGNAME | Název katalogu v úložišti dat, který obsahuje sloupec. Hodnota null, pokud nelze určit název základního katalogu. Výchozí hodnota tohoto sloupce je null. |
| BaseTableName | DBCOLUMN_BASETABLENAME | Název tabulky nebo zobrazení v úložišti dat, který obsahuje sloupec. Hodnota null, pokud nelze určit název základní tabulky. Výchozí hodnota tohoto sloupce je null. |
| BaseColumnName | DBCOLUMN_BASECOLUMNNAME | Název sloupce v úložišti dat. To se může lišit od názvu sloupce vráceného ve sloupci ColumnName, pokud byl použit alias. Hodnota null, pokud nelze určit název základního sloupce nebo pokud je sloupec sady řádků odvozen, ale není stejný jako sloupec v úložišti dat. Výchozí hodnota tohoto sloupce je null. |
Note
Chcete-li zajistit, aby sloupce metadat vracely správné informace, je nutné volat ExecuteReader s parametrem nastaveným behavior na KeyInfo. V opačném případě mohou některé sloupce v tabulce schématu vrátit výchozí, null nebo nesprávná data.