OleDbDataReader.GetSchemaTable Methode

Definitie

Retourneert een DataTable die de kolommetagegevens van de OleDbDataReader.

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

Retouren

Een DataTable die de metagegevens van de kolom beschrijft.

Implementeringen

Uitzonderingen

Opmerkingen

De GetSchemaTable methode wordt toegewezen aan de OLE DB IColumnsRowset::GetColumnsRowset-methode en retourneert metagegevens over elke kolom in de volgende volgorde:

DataReader-kolom OLE DB-kolom-id Beschrijving
ColumnName DBCOLUMN_NAME De naam van de kolom; dit is mogelijk niet uniek. Als dit niet kan worden bepaald, wordt een null-waarde geretourneerd. Deze naam weerspiegelt altijd de meest recente naamgeving van de kolom in de huidige weergave of opdrachttekst.
ColumnOrdinal DBCOLUMN_NUMBER Het op nul gebaseerde rangnummer van de kolom. Deze kolom mag geen null-waarde bevatten.
Kolomgrootte DBCOLUMN_COLUMNSIZE De maximale lengte van een waarde in de kolom. Voor kolommen die een gegevenstype met een vaste lengte gebruiken, is dit de grootte van het gegevenstype.
Numeriekeprecisie DBCOLUMN_PRECISION Als DbType een numeriek gegevenstype is, is dit de maximale precisie van de kolom. De precisie van kolommen met een gegevenstype DBTYPE_DECIMAL of DBTYPE_NUMERIC is afhankelijk van de definitie van de kolom. Als DbType geen numeriek gegevenstype is, is dit een null-waarde.
Numericscale DBCOLUMN_SCALE Als DbType DBTYPE_DECIMAL of DBTYPE_NUMERIC is, is dit het aantal cijfers rechts van het decimaalteken. Anders is dit een null-waarde.
Gegevenstype Geen Hiermee wordt het .NET type kolom toegewezen.
ProviderType DBCOLUMN_TYPE De indicator van het gegevenstype van de kolom. Als het gegevenstype van de kolom verschilt van rij tot rij, moet dit DBTYPE_VARIANT zijn. Deze kolom mag geen null-waarde bevatten.
IsLong DBCOLUMNFLAGS_ISLONG De provider stelt DBCOLUMNFLAGS_ISLONG in als de kolom een Binary Long Object (BLOB) bevat die zeer lange gegevens bevat. De definitie van zeer lange gegevens is providerspecifiek. De instelling van deze vlag komt overeen met de waarde van de kolom IS_LONG in de PROVIDER_TYPES rijenset voor het gegevenstype.
AllowDBNull DBCOLUMNFLAGS_ISNULLABLE De provider stelt DBCOLUMNFLAGS_ISNULLABLE in als de consument de kolom kan instellen op een null-waarde of als de provider niet kan bepalen of de kolom kan worden ingesteld op een null-waarde. Een kolom kan null-waarden bevatten, zelfs als deze niet kan worden ingesteld op een null-waarde.
IsReadOnly DBCOLUMNFLAGS_WRITE true als de kolom niet kan worden gewijzigd; anders false. De kolom wordt verondersteld schrijfbaar te zijn als de provider de DBCOLUMNFLAGS_WRITE of DBCOLUMNFLAGS_WRITEUNKNOWN vlag heeft ingesteld.
IsRowVersion DBCOLUMNFLAGS_ISROWID De provider stelt DBCOLUMNFLAGS_ISROWID in als de kolom een permanente rij-id bevat waarnaar niet kan worden geschreven en geen zinvolle waarde heeft, behalve de identiteit van de rij.
IsUnique DBCOLUMN_ISUNIQUE VARIANT_TRUE: Er kunnen geen twee rijen in de basistabel worden geretourneerd in BaseTableName, dezelfde waarde hebben in deze kolom. IsUnique is gegarandeerd VARIANT_TRUE als de kolom een sleutel zelf vertegenwoordigt of als er een beperking van het type UNIQUE is die alleen van toepassing is op deze kolom.

VARIANT_FALSE: De kolom kan dubbele waarden in de basistabel bevatten. De standaardwaarde van deze kolom is VARIANT_FALSE.
IsKey DBCOLUMN_KEYCOLUMN VARIANT_TRUE: De kolom is een van een set kolommen in de rijenset die samen de rij uniek identificeren. De set kolommen waarvoor IsKey is ingesteld op VARIANT_TRUE moet een rij in de rijenset uniek identificeren. Er is geen vereiste dat deze set kolommen een minimale set kolommen is. Deze set kolommen kan worden gegenereerd op basis van een primaire basistabelsleutel, een unieke beperking of een unieke index.

VARIANT_FALSE: De kolom is niet vereist om de rij uniek te identificeren.
IsAutoIncrement DBCOLUMN_ISAUTOINCREMENT VARIANT_TRUE: De kolom wijst waarden toe aan nieuwe rijen in vaste stappen.

VARIANT_FALSE: De kolom wijst geen waarden toe aan nieuwe rijen in vaste stappen. De standaardwaarde van deze kolom is VARIANT_FALSE.
BaseSchemaName DBCOLUMN_BASESCHEMANAME De naam van het schema in het gegevensarchief dat de kolom bevat. Een null-waarde als de naam van het basisschema niet kan worden bepaald. De standaardwaarde van deze kolom is een null-waarde.
BaseCatalogName DBCOLUMN_BASECATALOGNAME De naam van de catalogus in het gegevensarchief dat de kolom bevat. Een null-waarde als de naam van de basiscatalogus niet kan worden bepaald. De standaardwaarde van deze kolom is een null-waarde.
BaseTableName DBCOLUMN_BASETABLENAME De naam van de tabel of weergave in het gegevensarchief dat de kolom bevat. Een null-waarde als de naam van de basistabel niet kan worden bepaald. De standaardwaarde van deze kolom is een null-waarde.
BaseColumnName DBCOLUMN_BASECOLUMNNAME De naam van de kolom in het gegevensarchief. Dit kan afwijken van de kolomnaam die wordt geretourneerd in de kolom ColumnName als er een alias is gebruikt. Een null-waarde als de naam van de basiskolom niet kan worden bepaald of als de rijsetkolom is afgeleid, maar niet identiek is aan, een kolom in het gegevensarchief. De standaardwaarde van deze kolom is een null-waarde.

Note

Als u ervoor wilt zorgen dat metagegevenskolommen de juiste informatie retourneren, moet ExecuteReader u de behavior parameter instellen op KeyInfo. Anders kunnen sommige kolommen in de schematabel standaardgegevens, null of onjuiste gegevens retourneren.

Van toepassing op

Zie ook