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 SqlDataReadersloupce .
public:
virtual System::Data::DataTable ^ GetSchemaTable();
public:
override System::Data::DataTable ^ GetSchemaTable();
public System.Data.DataTable GetSchemaTable();
public override System.Data.DataTable GetSchemaTable();
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Function GetSchemaTable () As DataTable
Public Overrides Function GetSchemaTable () As DataTable
Návraty
A DataTable , který popisuje metadata sloupce.
Implementuje
Výjimky
To SqlDataReader je uzavřeno.
Poznámky
Metoda GetSchemaTable vrátí následující metadata o každém sloupci:
| Sloupec DataReader | Description |
|---|---|
| Allowdbnull | Nastavte, zda 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. Hodnota NULL, pokud nelze určit název základního katalogu. Výchozí hodnota tohoto sloupce je null. |
| 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. |
| 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. |
| BaseServerName | Název instance Microsoft SQL Server používané SqlDataReader. |
| 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. |
| ColumnName | 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ý | Pořadový řádek založený na nule sloupce. Tento sloupec nemůže obsahovat hodnotu null. |
| Velikost sloupce | 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. Pro sloupce nvarchar(MAX), 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, je limit maximální velikosti uložen systémem souborů. Tato hodnota se změní při použití klíčového slova Type System Version v připojovací řetězec. Pro nové typy jsou reprezentovány jako nižší typy. Datové typy MAX vrátí normální 4k for nvarchar a 8000 pro varchar. Další informace najdete v referenčních informacích k Transact-SQL. |
| DataTypeName | 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 hodnoty novým řádkům v pevných přírůstcích.false: Sloupec nepřiřazuje hodnoty novým řádkům v pevných přírůstcích. Výchozí hodnota tohoto sloupce je false. |
| IsColumnSet |
true: Sloupec je řídký sloupec, který je členem sady sloupců. |
| IsExpression |
true: Sloupec je výraz.false: Sloupec není výraz. |
| JeSkrytý |
true: Sloupec je skrytý.false: Sloupec není skrytý. |
| IsIdentity |
true: Sloupec je sloupec identity.false: Sloupec není sloupec identity. |
| Iskey |
true: Sloupec je jednou ze sad sloupců v sadě řádků, které společně jednoznačně identifikují řádek. Sada sloupců s nastaveným IsKey nastavením 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.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 poskytovatele.false: Sloupec neobsahuje binární dlouhý objekt (BLOB), který obsahuje velmi dlouhá data. |
| Je pouze pro čtení |
true: Sloupec nelze změnit.false: Sloupec lze upravit. |
| IsRowVersion |
true: Sloupec obsahuje trvalý identifikátor řádku, do kterého nelze zapisovat, a nemá žádnou smysluplnou hodnotu s výjimkou identity řádku.false: Sloupec neobsahuje trvalý identifikátor řádku, do kterého nelze zapisovat, a nemá žádnou smysluplnou hodnotu s výjimkou identity řádku. |
| IsUnique |
true: Sloupec je typu timestamp.false: Sloupec není typu timestamp. |
| NonVersionedProviderType | Typ sloupce bez ohledu na aktuální Type System Version zadaný v připojovací řetězec. Vrácená hodnota je z výčtu SqlDbType . |
| NumericPrecision | 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, je to 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 slova Type System Version v připojovací řetězec. |
| ProviderType | Indikátor datového typu sloupce. Pokud se datový typ sloupce liší od řádku po řádek, musí se jednat o objekt. Tento sloupec nemůže obsahovat hodnotu null. |
| UdtAssemblyQualifiedName | Pokud je sloupec uživatelem definovaný typ (UDT), jedná se o kvalifikovaný název sestavení UDT podle jednotlivých .AssemblyQualifiedName Pokud sloupec není UDT, je to null. |
| Xmlschemacollectiondatabase | Název databáze, ve které je umístěna kolekce schémat pro tuto instanci XML, pokud řádek obsahuje informace o sloupci XML. Tato hodnota je null (Nothing v Visual Basic), pokud je kolekce definovaná v aktuální databázi. Má také hodnotu null, pokud neexistuje žádná kolekce schématu, v takovém případě XmlSchemaCollectionName jsou sloupce XmlSchemaCollectionOwningSchema také null. |
| Xmlschemacollectionname | Název kolekce schématu pro tuto instanci XML, pokud řádek obsahuje informace o sloupci XML. Tato hodnota je null (Nothing v Visual Basic), pokud neexistuje přidružená kolekce schémat. Pokud je hodnota null, XmlSchemaCollectionDatabase sloupce XmlSchemaCollectionOwningSchema mají také hodnotu null. |
| Xmlschemacollectionowningschema | Vlastnící relační schéma, ve kterém je umístěna kolekce schématu pro tuto instanci XML, pokud řádek obsahuje informace o sloupci XML. Tato hodnota je null (Nothing v Visual Basic), pokud je kolekce definovaná v aktuální databázi. Má také hodnotu null, pokud neexistuje žádná kolekce schématu, v takovém případě XmlSchemaCollectionDatabase jsou sloupce XmlSchemaCollectionName také 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.