OleDbDataReader.GetSchemaTable Metoda

Definicja

Zwraca obiekt DataTable , który opisuje metadane kolumny elementu OleDbDataReader.

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

Zwraca

Element DataTable opisujący metadane kolumny.

Implementuje

Wyjątki

Element OleDbDataReader jest zamknięty.

Uwagi

Metoda GetSchemaTable jest mapowana na metodę IColumnsRowset OLE DB::GetColumnsRowset i zwraca metadane dotyczące każdej kolumny w następującej kolejności:

Kolumna DataReader Identyfikator kolumny OLE DB Opis
nazwa_kolumny DBCOLUMN_NAME Nazwa kolumny; może to nie być unikatowe. Jeśli nie można tego określić, zwracana jest wartość null. Ta nazwa zawsze odzwierciedla najnowszą zmianę nazwy kolumny w bieżącym widoku lub tekście polecenia.
KolumnaOrdinal DBCOLUMN_NUMBER Liczba porządkowa oparta na zerach kolumny. Ta kolumna nie może zawierać wartości null.
Columnsize DBCOLUMN_COLUMNSIZE Maksymalna możliwa długość wartości w kolumnie. W przypadku kolumn używających typu danych o stałej długości jest to rozmiar typu danych.
NumericPrecision DBCOLUMN_PRECISION Jeśli dbType jest typem danych liczbowych, jest to maksymalna precyzja kolumny. Precyzja kolumn o typie danych DBTYPE_DECIMAL lub DBTYPE_NUMERIC zależy od definicji kolumny. Jeśli typ dbType nie jest typem danych liczbowych, jest to wartość null.
Numericscale DBCOLUMN_SCALE Jeśli parametr DbType jest DBTYPE_DECIMAL lub DBTYPE_NUMERIC, jest to liczba cyfr po prawej stronie przecinka dziesiętnego. W przeciwnym razie jest to wartość null.
typ_danych Brak Mapuje na typ .NET Framework kolumny.
Typ dostawcy DBCOLUMN_TYPE Wskaźnik typu danych kolumny. Jeśli typ danych kolumny różni się od wiersza do wiersza, musi to być DBTYPE_VARIANT. Ta kolumna nie może zawierać wartości null.
IsLong DBCOLUMNFLAGS_ISLONG Dostawca ustawia DBCOLUMNFLAGS_ISLONG, jeśli kolumna zawiera obiekt Binary Long Object (BLOB), który zawiera bardzo długie dane. Definicja bardzo długich danych jest specyficzna dla dostawcy. Ustawienie tej flagi odpowiada wartości kolumny IS_LONG w zestawie wierszy PROVIDER_TYPES dla typu danych.
Allowdbnull DBCOLUMNFLAGS_ISNULLABLE Dostawca ustawia DBCOLUMNFLAGS_ISNULLABLE, jeśli użytkownik może ustawić kolumnę na wartość null lub jeśli dostawca nie może określić, czy konsument może ustawić kolumnę na wartość null. Kolumna może zawierać wartości null, nawet jeśli nie można jej ustawić na wartość null.
IsReadOnly DBCOLUMNFLAGS_WRITE true jeśli nie można zmodyfikować kolumny; w przeciwnym razie false. Przyjmuje się, że kolumna może być zapisywalna, jeśli dostawca ustawił flagę DBCOLUMNFLAGS_WRITE lub DBCOLUMNFLAGS_WRITEUNKNOWN.
IsRowVersion DBCOLUMNFLAGS_ISROWID Dostawca ustawia DBCOLUMNFLAGS_ISROWID, jeśli kolumna zawiera trwały identyfikator wiersza, do którego nie można zapisać, i nie ma znaczącej wartości z wyjątkiem tożsamości wiersza.
Isunique DBCOLUMN_ISUNIQUE VARIANT_TRUE: w tabeli bazowej nie ma dwóch wierszy zwróconych w tabeli BaseTableName— może mieć taką samą wartość w tej kolumnie. IsUnique ma gwarancję, że zostanie VARIANT_TRUE, jeśli kolumna reprezentuje klucz samodzielnie lub jeśli istnieje ograniczenie typu UNIQUE, które ma zastosowanie tylko do tej kolumny.

VARIANT_FALSE: kolumna może zawierać zduplikowane wartości w tabeli podstawowej. Wartość domyślna tej kolumny to VARIANT_FALSE.
Iskey DBCOLUMN_KEYCOLUMN VARIANT_TRUE: kolumna jest jednym z zestawów kolumn w zestawie wierszy, które wspólnie identyfikują wiersze. Zestaw kolumn z ustawioną wartością IsKey na wartość VARIANT_TRUE musi jednoznacznie zidentyfikować wiersz w zestawie wierszy. Nie ma potrzeby, aby ten zestaw kolumn był minimalnym zestawem kolumn. Ten zestaw kolumn może być generowany na podstawie klucza podstawowego tabeli podstawowej, unikatowego ograniczenia lub unikatowego indeksu.

VARIANT_FALSE: kolumna nie jest wymagana do unikatowego identyfikowania wiersza.
IsAutoIncrement DBCOLUMN_ISAUTOINCREMENT VARIANT_TRUE: kolumna przypisuje wartości do nowych wierszy w stałych przyrostach.

VARIANT_FALSE: kolumna nie przypisuje wartości do nowych wierszy w stałych przyrostach. Wartość domyślna tej kolumny to VARIANT_FALSE.
BaseSchemaName DBCOLUMN_BASESCHEMANAME Nazwa schematu w magazynie danych, który zawiera kolumnę. Wartość null, jeśli nie można określić nazwy schematu podstawowego. Wartość domyślna tej kolumny to wartość null.
Nazwa dziennika bazowego DBCOLUMN_BASECATALOGNAME Nazwa wykazu w magazynie danych, który zawiera kolumnę. Wartość null, jeśli nie można określić nazwy katalogu podstawowego. Wartość domyślna tej kolumny to wartość null.
Nazwa tabeli bazowej DBCOLUMN_BASETABLENAME Nazwa tabeli lub widoku w magazynie danych, który zawiera kolumnę. Wartość null, jeśli nie można określić nazwy tabeli podstawowej. Wartość domyślna tej kolumny to wartość null.
Nazwa kolumny bazowej DBCOLUMN_BASECOLUMNNAME Nazwa kolumny w magazynie danych. Może się to różnić od nazwy kolumny zwróconej w kolumnie Nazwakolumny, jeśli użyto aliasu. Wartość null, jeśli nie można określić nazwy kolumny podstawowej lub jeśli kolumna zestawu wierszy jest pochodna, ale nie identyczna, kolumna w magazynie danych. Wartość domyślna tej kolumny to wartość null.

Uwaga

Aby upewnić się, że kolumny metadanych zwracają poprawne informacje, należy wywołać ExecuteReader parametr z parametrem ustawionym behavior na KeyInfowartość . W przeciwnym razie niektóre kolumny w tabeli schematów mogą zwracać dane domyślne, null lub nieprawidłowe.

Dotyczy

Zobacz też