OleDbDataReader.GetSchemaTable Metoda

Definice

Vrátí hodnotu DataTable , která popisuje metadata sloupce objektu OleDbDataReader.

public:
 override System::Data::DataTable ^ GetSchemaTable();
public:
 virtual System::Data::DataTable ^ GetSchemaTable();
public override System.Data.DataTable GetSchemaTable ();
public override System.Data.DataTable? GetSchemaTable ();
public 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

Poznámky

Metoda se GetSchemaTable mapuje na metodu OLE DB IColumnsRowset::GetColumnsRowset 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 se to nedá zjistit, vrátí se hodnota null. Tento název vždy odráží poslední přejmenování sloupce v aktuálním zobrazení nebo textu příkazu.
Sloupcový pořadový DBCOLUMN_NUMBER Pořadové číslo sloupce založené na nule. Tento sloupec nesmí obsahovat hodnotu null.
Columnsize DBCOLUMN_COLUMNSIZE Maximální možná délka hodnoty ve sloupci U sloupců, které používají datový typ s pevnou délkou, se jedná o velikost datového typu.
NumericKáprecision DBCOLUMN_PRECISION Pokud dbType je čí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 typ DbType DBTYPE_DECIMAL nebo DBTYPE_NUMERIC, jedná se o počet číslic vpravo od desetinné čárky. V opačném případě se jedná o hodnotu null.
DataType Žádné Mapuje se na typ .NET Framework sloupce.
Providertype DBCOLUMN_TYPE Indikátor datového typu sloupce. Pokud se datový typ sloupce v jednotlivých řádcích liší, musí se DBTYPE_VARIANT. Tento sloupec nesmí 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 zprostředkovatele. Nastavení tohoto příznaku odpovídá hodnotě sloupce IS_LONG v PROVIDER_TYPES sady řádků pro datový typ.
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.
IsReadOnly DBCOLUMNFLAGS_WRITE true pokud sloupec nelze změnit; jinak false. Sloupec se považuje za zapisovatelný, pokud zprostředkovatel nastavil příznak DBCOLUMNFLAGS_WRITE nebo DBCOLUMNFLAGS_WRITEUNKNOWN.
IsRowVersion DBCOLUMNFLAGS_ISROWID Zprostředkovatel nastaví DBCOLUMNFLAGS_ISROWID, pokud sloupec obsahuje trvalý identifikátor řádku, který nelze zapsat do a nemá žádnou smysluplnou hodnotu kromě identity řádku.
Isunique DBCOLUMN_ISUNIQUE VARIANT_TRUE: Žádné dva řádky v základní tabulce (tabulka vrácená v Tabulce BaseTableName) nesmí mít v tomto sloupci stejnou hodnotu. IsUnique je zaručeno, že bude 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 v základní tabulce obsahovat duplicitní hodnoty. Výchozí hodnota tohoto sloupce je VARIANT_FALSE.
Iskey DBCOLUMN_KEYCOLUMN VARIANT_TRUE: Sloupec je jedním ze sady sloupců v sadě řádků, které dohromady jednoznačně identifikují řádek. Sada sloupců s isKey nastaveným na VARIANT_TRUE musí jednoznačně identifikovat řádek v sadě řádků. Není nutné, aby tato sada sloupců byla minimální sadou sloupců. Tuto sadu sloupců lze vygenerovat 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 nové řádky hodnoty v pevných přírůstcích.

VARIANT_FALSE: Sloupec nepřiřazuje nové řádky hodnoty v pevných přírůstcích. Výchozí hodnota tohoto sloupce je VARIANT_FALSE.
NázevSchema 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.
Název základní tabulky 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.
NázevSloupce 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í identický se sloupcem v úložišti dat. Výchozí hodnota tohoto sloupce je null.

Poznámka

Pokud chcete zajistit, aby sloupce metadat vracely správné informace, musíte 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.

Platí pro

Viz také