Nyelv

OleDbDataReader.GetSchemaTable Metódus

Definíció

DataTable Az oszlop metaadatait OleDbDataReaderleíró értéket ad vissza.

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

Válaszok

Az DataTable oszlop metaadatait leíró fájl.

Megvalósítás

Kivételek

Megjegyzések

A GetSchemaTable metódus leképezi az OLE DB IColumnsRowset::GetColumnsRowset metódust , és a következő sorrendben adja vissza az egyes oszlopok metaadatait:

DataReader oszlop OLE DB oszlopazonosító Leírás
ColumnName DBCOLUMN_NAME Az oszlop neve; lehet, hogy ez nem egyedi. Ha ez nem határozható meg, a rendszer null értéket ad vissza. Ez a név mindig az oszlop legutóbbi átnevezését tükrözi az aktuális nézetben vagy parancsszövegben.
ColumnOrdinal DBCOLUMN_NUMBER Az oszlop nullaalapú sorszáma. Ez az oszlop nem tartalmazhat null értéket.
Oszlopméret DBCOLUMN_COLUMNSIZE Az oszlopban lévő érték maximális lehetséges hossza. Rögzített hosszúságú adattípust használó oszlopok esetében ez az adattípus mérete.
Numerikusprecizió DBCOLUMN_PRECISION Ha a DbType numerikus adattípus, akkor ez az oszlop maximális pontossága. A DBTYPE_DECIMAL vagy DBTYPE_NUMERIC adattípusú oszlopok pontossága az oszlop definíciójától függ. Ha a DbType nem numerikus adattípus, akkor ez null érték.
Numerikus skálázás DBCOLUMN_SCALE Ha a DbType DBTYPE_DECIMAL vagy DBTYPE_NUMERIC, akkor ez a tizedesvessző jobb oldalán lévő számjegyek száma. Ellenkező esetben ez egy null érték.
Adattípus None Az oszlop .NET típusának leképezése.
ProviderType DBCOLUMN_TYPE Az oszlop adattípusának jelzője. Ha az oszlop adattípusa sorról sorra változik, ennek DBTYPE_VARIANT kell lennie. Ez az oszlop nem tartalmazhat null értéket.
IsLong DBCOLUMNFLAGS_ISLONG A szolgáltató beállítja DBCOLUMNFLAGS_ISLONG, ha az oszlop nagyon hosszú adatokat tartalmazó bináris hosszú objektumot (BLOB) tartalmaz. A nagyon hosszú adatok definíciója szolgáltatóspecifikus. A jelölő beállítása megfelel az adattípus PROVIDER_TYPES sorhalmazában lévő IS_LONG oszlop értékének.
AllowDBNull DBCOLUMNFLAGS_ISNULLABLE A szolgáltató beállítja DBCOLUMNFLAGS_ISNULLABLE, hogy a fogyasztó null értékre állíthatja-e az oszlopot, vagy ha a szolgáltató nem tudja megállapítani, hogy a fogyasztó null értékre állíthatja-e az oszlopot. Az oszlopok null értékeket is tartalmazhatnak, még akkor is, ha nem állítható be null értékre.
IsReadOnly DBCOLUMNFLAGS_WRITE true ha az oszlop nem módosítható; egyéb esetben false. Az oszlop írhatónak minősül, ha a szolgáltató beállította a DBCOLUMNFLAGS_WRITE vagy DBCOLUMNFLAGS_WRITEUNKNOWN jelzőt.
IsRowVersion DBCOLUMNFLAGS_ISROWID A szolgáltató beállítja DBCOLUMNFLAGS_ISROWID, ha az oszlop olyan állandó sorazonosítót tartalmaz, amely nem írható be, és a sor identitásán kívül nincs értelmes értéke.
IsUnique DBCOLUMN_ISUNIQUE VARIANT_TRUE: Az alaptábla egyik sora sem rendelkezhet ugyanazzal az értékkel ebben az oszlopban– a BaseTableName-ben visszaadott tábla. Az IsUnique garantáltan VARIANT_TRUE, ha az oszlop önmagában jelöl egy kulcsot, vagy ha egyedi típusú korlátozás van érvényben, amely csak erre az oszlopra vonatkozik.

VARIANT_FALSE: Az oszlop ismétlődő értékeket tartalmazhat az alaptáblában. Ennek az oszlopnak az alapértelmezett értéke VARIANT_FALSE.
IsKey DBCOLUMN_KEYCOLUMN VARIANT_TRUE: Az oszlop a sorhalmaz egyik oszlopkészlete, amely együttesen egyedileg azonosítja a sort. Az IsKey VARIANT_TRUE értékre állított oszlopkészletnek egyedileg kell azonosítania a sorhalmaz egy sorát. Nem követelmény, hogy ez az oszlopkészlet minimális oszlopkészlet legyen. Ez az oszlopkészlet egy alaptábla elsődleges kulcsából, egy egyedi kényszerből vagy egy egyedi indexből hozható létre.

VARIANT_FALSE: Az oszlop nem szükséges a sor egyedi azonosításához.
IsAutoIncrement DBCOLUMN_ISAUTOINCREMENT VARIANT_TRUE: Az oszlop rögzített lépésekben rendel értékeket az új sorokhoz.

VARIANT_FALSE: Az oszlop nem rendel értékeket az új sorokhoz rögzített növekményekben. Ennek az oszlopnak az alapértelmezett értéke VARIANT_FALSE.
BaseSchemaName DBCOLUMN_BASESCHEMANAME Az oszlopot tartalmazó séma neve az adattárban. Null érték, ha az alapséma neve nem határozható meg. Ennek az oszlopnak az alapértelmezett értéke null érték.
BaseCatalogName DBCOLUMN_BASECATALOGNAME Az oszlopot tartalmazó adattár katalógusának neve. Null érték, ha az alapkatalógus neve nem határozható meg. Ennek az oszlopnak az alapértelmezett értéke null érték.
BaseTableName DBCOLUMN_BASETABLENAME Az oszlopot tartalmazó adattárban lévő tábla vagy nézet neve. Null érték, ha az alaptábla neve nem határozható meg. Ennek az oszlopnak az alapértelmezett értéke null érték.
BaseColumnName DBCOLUMN_BASECOLUMNNAME Az adattár oszlopának neve. Az alias használata esetén ez eltérhet a ColumnName oszlopban visszaadott oszlop nevétől. Null érték, ha az alaposzlop neve nem határozható meg, vagy ha a sorhalmaz oszlopa származik, de nem azonos az adattár egyik oszlopával. Ennek az oszlopnak az alapértelmezett értéke null érték.

Note

Annak biztosításához, hogy a metaadatoszlopok a megfelelő információt adjanak vissza, a paramétert a ExecuteReader következőre kell hívnia behaviorKeyInfo: . Ellenkező esetben a sématábla egyes oszlopai alapértelmezett, null vagy helytelen adatokat adhatnak vissza.

A következőre érvényes:

Lásd még