OleDbDataReader.GetSchemaTable Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 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
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 KeyInfo
wartość . W przeciwnym razie niektóre kolumny w tabeli schematów mogą zwracać dane domyślne, null lub nieprawidłowe.