SqlDataReader.GetSchemaTable Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
Är SqlDataReader stängd.
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.