SqlDataReader.GetSchemaTable Metod

Definition

Returnerar en DataTable som beskriver kolumnmetadata för SqlDataReader.

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

Returer

En DataTable som beskriver kolumnmetadata.

Implementeringar

Undantag

Kommentarer

Metoden GetSchemaTable returnerar följande metadata om varje kolumn:

DataReader-kolumn Description
AllowDBNull Ange om konsumenten kan ange kolumnen till ett null-värde eller om providern inte kan avgöra om konsumenten kan ange kolumnen till ett null-värde. Annars anger du inte. En kolumn kan innehålla null-värden, även om den inte kan anges till ett null-värde.
BaseCatalogName Namnet på katalogen i datalagret som innehåller kolumnen. NULL om baskatalognamnet inte kan fastställas. Standardvärdet för den här kolumnen är ett null-värde.
BaseColumnName Namnet på kolumnen i datalagret. Detta kan skilja sig från kolumnnamnet som returnerades i kolumnen ColumnName om ett alias användes. Ett null-värde om baskolumnnamnet inte kan fastställas eller om raduppsättningskolumnen härleds, men inte är identisk med, en kolumn i datalagret. Standardvärdet för den här kolumnen är ett null-värde.
BaseSchemaName Namnet på schemat i datalagret som innehåller kolumnen. Ett null-värde om det inte går att fastställa grundschemanamnet. Standardvärdet för den här kolumnen är ett null-värde.
BaseServerName Namnet på instansen av Microsoft SQL Server som används av SqlDataReader.
BaseTableName Namnet på tabellen eller vyn i datalagret som innehåller kolumnen. Ett null-värde om bastabellnamnet inte kan fastställas. Standardvärdet för den här kolumnen är ett null-värde.
ColumnName Namnet på kolumnen; Detta kanske inte är unikt. Om detta inte kan fastställas returneras ett null-värde. Det här namnet återspeglar alltid den senaste namnbytet av kolumnen i den aktuella vyn eller kommandotexten.
ColumnOrdinal Kolumnens nollbaserade ordningstal. Den här kolumnen får inte innehålla ett null-värde.
Kolumnstorlek Den maximala möjliga längden på ett värde i kolumnen. För kolumner som använder en datatyp med fast längd är det här storleken på datatypen. För nvarchar(MAX), varchar(MAX) och varbinary(MAX) kolumner som lagras i en SQL Server databas är den maximala storleken 2 GB. Om dessa kolumner lagras och används som filer, tillämpas gränsen för maximal storlek av filsystemet. Det här värdet ändras när du använder nyckelordet Type System Version i reťazec pripojenia. För nya typer representeras de som nednivåtyper. MAX-datatyperna returnerar normal 4k för nvarchar och 8000 för varchar. Mer information finns i referensen Transact-SQL.
DataTypeName Returnerar en sträng som representerar datatypen för den angivna kolumnen.
IsAliased true: Kolumnnamnet är ett alias.

false: Kolumnnamnet är inte ett alias.
IsAutoIncrement true: Kolumnen tilldelar värden till nya rader i fasta steg.

false: Kolumnen tilldelar inte värden till nya rader i fasta steg. Standardvärdet för den här kolumnen är false.
IsColumnSet true: Kolumnen är en gles kolumn som är medlem i en kolumnuppsättning.
IsExpression true: Kolumnen är ett uttryck.

false: Kolumnen är inte ett uttryck.
Är gömd true: Kolumnen är dold.

false: Kolumnen är inte dold.
IsIdentity true: Kolumnen är en identitetskolumn.

false: Kolumnen är inte en identitetskolumn.
IsKey true: Kolumnen är en av en uppsättning kolumner i raduppsättningen som tillsammans unikt identifierar raden. Den uppsättning kolumner som IsKey har angetts till true måste unikt identifiera en rad i raduppsättningen. Det finns inget krav på att den här uppsättningen kolumner är en minimal uppsättning kolumner. Den här uppsättningen kolumner kan genereras från en primärnyckel för bastabellen, en unik begränsning eller ett unikt index.

false: Kolumnen krävs inte för att unikt identifiera raden.
IsLong true: Kolumnen innehåller ett binärt långt objekt (BLOB) som innehåller mycket långa data. Definitionen av mycket långa data är providerspecifik.

false: Kolumnen innehåller inte ett binärt långt objekt (BLOB) som innehåller mycket långa data.
ÄrEndastLäsbar true: Det går inte att ändra kolumnen.

false: Kolumnen kan ändras.
IsRowVersion true: Kolumnen innehåller en beständig radidentifierare som inte kan skrivas till och som inte har något meningsfullt värde förutom att identitetera raden.

false: Kolumnen innehåller inte en beständig radidentifierare som inte kan skrivas till och som inte har något meningsfullt värde förutom att identitetera raden.
IsUnique true: Kolumnen är av typen timestamp.

false: Kolumnen är inte av typen timestamp.
NonVersionedProviderType Typen av kolumn oavsett aktuell Type System Version som anges i reťazec pripojenia. Det returnerade värdet kommer från SqlDbType uppräkningen.
Numerisktprecision Om ProviderType är en numerisk datatyp är detta kolumnens maximala precision. Precisionen beror på definitionen av kolumnen. Om ProviderType inte är en numerisk datatyp är detta 255.
Numerisk skala Om ProviderType är DBTYPE_DECIMAL eller DBTYPE_NUMERIC, antalet siffror till höger om decimaltecknet. Annars är det här 255.
ProviderSpecificDataType Returnerar den providerspecifika datatypen för kolumnen baserat på nyckelordet Type System Version i reťazec pripojenia.
ProviderType Indikatorn för kolumnens datatyp. Om datatypen för kolumnen varierar från rad till rad måste detta vara Objekt. Den här kolumnen får inte innehålla ett null-värde.
UdtAssemblyQualifiedName Om kolumnen är en användardefinierad typ (UDT) är detta det kvalificerade namnet på UDT:s sammansättning enligt AssemblyQualifiedName. Om kolumnen inte är en UDT är detta null.
XmlSchemaCollectionDatabase Namnet på databasen där schemasamlingen för den här XML-instansen finns, om raden innehåller information om en XML-kolumn. Det här värdet är null (Nothing i Visual Basic) om samlingen definieras i den aktuella databasen. Det är också null om det inte finns någon schemasamling, i vilket fall kolumnerna XmlSchemaCollectionName och XmlSchemaCollectionOwningSchema också är null.
XmlSchemaCollectionName Namnet på schemasamlingen för den här XML-instansen, om raden innehåller information om en XML-kolumn. Det här värdet är null (Nothing i Visual Basic) om det inte finns någon associerad schemasamling. Om värdet är null är kolumnerna XmlSchemaCollectionDatabase och XmlSchemaCollectionOwningSchema också null.
XmlSchemaCollectionOwningSchema Det ägande relationsschemat där schemasamlingen för den här XML-instansen finns, om raden innehåller information om en XML-kolumn. Det här värdet är null (Nothing i Visual Basic) om samlingen definieras i den aktuella databasen. Det är också null om det inte finns någon schemasamling, i vilket fall kolumnerna XmlSchemaCollectionDatabase och XmlSchemaCollectionName också är null.

Note

För att se till att metadatakolumner returnerar rätt information måste du anropa ExecuteReader med parametern behavior inställd på KeyInfo. Annars kan vissa kolumner i schematabellen returnera standarddata, null eller felaktiga data.

Gäller för

Se även