SqlDataReader.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 sloupce objektu SqlDataReader.
public:
override System::Data::DataTable ^ GetSchemaTable();
public override System.Data.DataTable GetSchemaTable ();
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Overrides Function GetSchemaTable () As DataTable
Návraty
A DataTable , který popisuje metadata sloupce.
Implementuje
Výjimky
Je SqlDataReader zavřený.
Poznámky
Metoda GetSchemaTable vrátí následující metadata o každém sloupci:
Sloupec DataReader | Description |
---|---|
Allowdbnull | Nastavte, jestli 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. V opačném případě není nastaveno. Sloupec může obsahovat hodnoty null, i když ho nelze nastavit na hodnotu null. |
BaseCatalogName | Název katalogu v úložišti dat, které obsahuje sloupec. NULL, pokud nelze určit název základního katalogu. Výchozí hodnota tohoto sloupce je null. |
NázevSloupce | 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. |
NázevSchema | 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. |
Název základního serveru | Název instance microsoftu SQL Server používat SqlDataReader. |
Název základní tabulky | 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. |
ColumnName | 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ý | Pořadové číslo sloupce založené na nule. Tento sloupec nesmí obsahovat hodnotu null. |
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. Pro nvarchar(MAX) sloupce , varchar(MAX) a varbinary(MAX) uložené v databázi SQL Server je maximální velikost 2 GB. Pokud jsou tyto sloupce uložené a přístupné jako soubory, omezení maximální velikosti je dáno systémem souborů. Tato hodnota se změní při použití klíčového Type System Version slova v připojovacím řetězci. U nových typů jsou reprezentovány jako typy nižší úrovně. Datové typy MAX vrátí normální 4k pro nvarchar a 8000 pro varchar . Další informace najdete v referenčních informacích k jazyku Transact-SQL. |
Název datového typu | Vrátí řetězec představující datový typ zadaného sloupce. |
IsAliased | true : Název sloupce je alias.false : Název sloupce není alias. |
IsAutoIncrement | true : Sloupec přiřazuje nové řádky hodnoty v pevných přírůstcích.false : Sloupec nepřiřazuje nové řádky hodnoty v pevných přírůstcích. Výchozí hodnota tohoto sloupce je false . |
IsColumnSet | true : Sloupec je zhuštěný sloupec, který je členem sady sloupců. |
IsExpression | true : Sloupec je výraz.false : Sloupec není výraz. |
IsHidden | true : Sloupec je skrytý.false : Sloupec není skrytý. |
IsIdentity | true : Sloupec je sloupec identity.false : Sloupec není sloupcem identity. |
Iskey | true : Sloupec je jedním ze sady sloupců v sadě řádků, které dohromady jednoznačně identifikují řádek. Sada sloupců s nastavenou IsKey na 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.false : Sloupec není nutný k jednoznačné identifikaci řádku. |
IsLong | true : Sloupec obsahuje objekt BLOB (Binary Long Object), který obsahuje velmi dlouhá data. Definice velmi dlouhých dat je specifická pro zprostředkovatele.false : Sloupec neobsahuje objekt BLOB (Binary Long Object), který obsahuje velmi dlouhá data. |
IsReadOnly | true : Sloupec nelze změnit.false : Sloupec je možné upravit. |
IsRowVersion | true : Sloupec obsahuje trvalý identifikátor řádku, který nelze zapsat do a nemá žádnou smysluplnou hodnotu kromě identity řádku.false : Sloupec neobsahuje trvalý identifikátor řádku, do kterého nelze zapisovat, a nemá žádnou smysluplnou hodnotu kromě toho, že daný řádek označuje. |
Isunique | true : Sloupec je typu timestamp .false : Sloupec není typu timestamp . |
Typ nonVersionedProviderType | Typ sloupce bez ohledu na aktuální Type System Version zadaný v připojovacím řetězci. Vrácená hodnota je z výčtu SqlDbType . |
NumericKáprecision | Pokud ProviderType se jedná o číselný datový typ, jedná se o maximální přesnost sloupce. Přesnost závisí na definici sloupce. Pokud ProviderType není číselný datový typ, jedná se o 255. |
NumericScale | Pokud ProviderType je DBTYPE_DECIMAL nebo DBTYPE_NUMERIC, počet číslic napravo od desetinné čárky. Jinak je to 255. |
ProviderSpecificDataType | Vrátí datový typ sloupce specifický pro zprostředkovatele na základě klíčového Type System Version slova v připojovacím řetězci. |
Providertype | Indikátor datového typu sloupce. Pokud se datový typ sloupce liší řádek od řádku, musí to být Objekt. Tento sloupec nesmí obsahovat hodnotu null. |
UdtAssemblyQualifiedName | Pokud je sloupec uživatelem definovaný typ (UDT), jedná se o kvalifikovaný název sestavení UDT podle .AssemblyQualifiedName Pokud sloupec není UDT, má hodnotu null. |
Xmlschemacollectiondatabase | Název databáze, ve které se nachází kolekce schémat pro tuto instanci XML, pokud řádek obsahuje informace o sloupci XML. Tato hodnota je null (Nothing v jazyce Visual Basic), pokud je kolekce definovaná v rámci aktuální databáze. Je také null, pokud neexistuje žádná kolekce schémat. V takovém případě XmlSchemaCollectionName jsou sloupce a XmlSchemaCollectionOwningSchema také null. |
Xmlschemacollectionname | Název kolekce schémat pro tuto instanci XML, pokud řádek obsahuje informace o sloupci XML. Tato hodnota je null (Nothing v jazyce Visual Basic), pokud není přidružena žádná kolekce schémat. Pokud je hodnota null, XmlSchemaCollectionDatabase sloupce a XmlSchemaCollectionOwningSchema mají hodnotu null. |
Xmlschemacollectionowningschema | Vlastnící relační schéma, kde je umístěna kolekce schémat pro tuto instanci XML, pokud řádek obsahuje informace o sloupci XML. Tato hodnota je null (Nothing v jazyce Visual Basic), pokud je kolekce definovaná v rámci aktuální databáze. Je také null, pokud neexistuje žádná kolekce schémat. V takovém případě XmlSchemaCollectionDatabase jsou sloupce a XmlSchemaCollectionName také 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ě můžou některé sloupce v tabulce schématu vrátit výchozí, null nebo nesprávná data.