OleDbDataReader.GetSchemaTable Metoda

Definicja

Zwraca DataTable , który opisuje metadane kolumn OleDbDataReader .Returns a DataTable that describes the column metadata of the OleDbDataReader.

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

DataTable

A DataTable który opisuje metadane kolumn.A DataTable that describes the column metadata.

Implementuje

Wyjątki

Uwagi

GetSchemaTableMetoda mapuje do metody OLE DB IColumnsRowset:: GetColumnsRowset i zwraca metadane dotyczące każdej kolumny w następującej kolejności:The GetSchemaTable method maps to the OLE DB IColumnsRowset::GetColumnsRowset method, and returns metadata about each column in the following order:

Element DataReader — kolumnaDataReader column Identyfikator kolumny OLE DBOLE DB column ID OpisDescription
nazwa_kolumnyColumnName DBCOLUMN_NAMEDBCOLUMN_NAME Nazwa kolumny; Ta sytuacja może nie być unikatowa.The name of the column; this might not be unique. Jeśli tego nie można ustalić, zwracana jest wartość null.If this cannot be determined, a null value is returned. Ta nazwa zawsze odzwierciedla ostatnią zmianę nazwy kolumny w bieżącym widoku lub tekście polecenia.This name always reflects the most recent renaming of the column in the current view or command text.
ColumnOrdinalColumnOrdinal DBCOLUMN_NUMBERDBCOLUMN_NUMBER Liczba porządkowa kolumny (liczony od zera).The zero-based ordinal of the column. Ta kolumna nie może zawierać wartości null.This column cannot contain a null value.
ColumnSizeColumnSize DBCOLUMN_COLUMNSIZEDBCOLUMN_COLUMNSIZE Maksymalna możliwa długość wartości w kolumnie.The maximum possible length of a value in the column. W przypadku kolumn, które używają typu danych o stałej długości, jest to rozmiar typu danych.For columns that use a fixed-length data type, this is the size of the data type.
NumericPrecisionNumericPrecision DBCOLUMN_PRECISIONDBCOLUMN_PRECISION Jeśli DbType jest typem danych liczbowych, jest to maksymalna precyzja kolumny.If DbType is a numeric data type, this is the maximum precision of the column. Precyzja kolumn z typem danych DBTYPE_DECIMAL lub DBTYPE_NUMERIC zależy od definicji kolumny.The precision of columns with a data type of DBTYPE_DECIMAL or DBTYPE_NUMERIC depends on the definition of the column. Jeśli DbType nie jest typem danych liczbowych, jest to wartość null.If DbType is not a numeric data type, this is a null value.
NumericScaleNumericScale DBCOLUMN_SCALEDBCOLUMN_SCALE Jeśli DbType jest DBTYPE_DECIMAL lub DBTYPE_NUMERIC, to jest liczba cyfr z prawej strony punktu dziesiętnego.If DbType is DBTYPE_DECIMAL or DBTYPE_NUMERIC, this is the number of digits to the right of the decimal point. W przeciwnym razie jest to wartość null.Otherwise, this is a null value.
typ_danychDataType BrakNone Mapuje do typu .NET Framework kolumny.Maps to the .NET Framework type of the column.
Typ dostawcyProviderType DBCOLUMN_TYPEDBCOLUMN_TYPE Wskaźnik typu danych kolumny.The indicator of the column's data type. Jeśli typ danych kolumny różni się od wiersza do wiersza, musi to być DBTYPE_VARIANT.If the data type of the column varies from row to row, this must be DBTYPE_VARIANT. Ta kolumna nie może zawierać wartości null.This column cannot contain a null value.
ISLONGIsLong DBCOLUMNFLAGS_ISLONGDBCOLUMNFLAGS_ISLONG Dostawca ustawia DBCOLUMNFLAGS_ISLONG, jeśli kolumna zawiera obiekt binarny (BLOB) zawierający bardzo długie dane.The provider sets DBCOLUMNFLAGS_ISLONG if the column contains a Binary Long Object (BLOB) that contains very long data. Definicja bardzo długich danych jest specyficzna dla dostawcy.The definition of very long data is provider-specific. Ustawienie tej flagi odpowiada wartości kolumny IS_LONG w zestawie wierszy PROVIDER_TYPES dla typu danych.The setting of this flag corresponds to the value of the IS_LONG column in the PROVIDER_TYPES rowset for the data type.
AllowDBNullAllowDBNull DBCOLUMNFLAGS_ISNULLABLEDBCOLUMNFLAGS_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 użytkownik może ustawić kolumnę na wartość null.The provider sets DBCOLUMNFLAGS_ISNULLABLE if the consumer can set the column to a null value, or if the provider cannot determine whether the consumer can set the column to a null value. Kolumna może zawierać wartości null, nawet jeśli nie można jej ustawić na wartość null.A column may contain null values, even if it cannot be set to a null value.
IsReadOnlyIsReadOnly DBCOLUMNFLAGS_WRITEDBCOLUMNFLAGS_WRITE true Jeśli nie można zmodyfikować kolumny; w przeciwnym razie false .true if the column cannot be modified; otherwise false. Jeśli dostawca ustawił flagę DBCOLUMNFLAGS_WRITE lub DBCOLUMNFLAGS_WRITEUNKNOWN, przyjmuje się, że kolumna jest zapisywalna.The column is assumed to be writable if the provider has set either the DBCOLUMNFLAGS_WRITE or DBCOLUMNFLAGS_WRITEUNKNOWN flag.
IsRowVersionIsRowVersion DBCOLUMNFLAGS_ISROWIDDBCOLUMNFLAGS_ISROWID Dostawca ustawia DBCOLUMNFLAGS_ISROWID, jeśli kolumna zawiera trwały Identyfikator wiersza, którego nie można zapisać w i nie ma znaczącej wartości z wyjątkiem tożsamości wiersza.The provider sets DBCOLUMNFLAGS_ISROWID if the column contains a persistent row identifier that cannot be written to, and has no meaningful value except to identity the row.
IsUniqueIsUnique DBCOLUMN_ISUNIQUEDBCOLUMN_ISUNIQUE VARIANT_TRUE: nie ma dwóch wierszy w tabeli podstawowej — tabela zwrócona w BaseTableName — może mieć taką samą wartość w tej kolumnie.VARIANT_TRUE: No two rows in the base table-the table returned in BaseTableName-can have the same value in this column. Parametr IsUnique jest gwarantowany VARIANT_TRUE, jeśli kolumna reprezentuje sam klucz lub jeśli istnieje ograniczenie typu UNIKATOWEgo, które ma zastosowanie tylko do tej kolumny.IsUnique is guaranteed to be VARIANT_TRUE if the column represents a key by itself or if there is a constraint of type UNIQUE that applies only to this column.

VARIANT_FALSE: kolumna może zawierać zduplikowane wartości w tabeli podstawowej.VARIANT_FALSE: The column can contain duplicate values in the base table. Wartość domyślna tej kolumny to VARIANT_FALSE.The default of this column is VARIANT_FALSE.
IsKeyIsKey DBCOLUMN_KEYCOLUMNDBCOLUMN_KEYCOLUMN VARIANT_TRUE: kolumna jest jednym z zestawów kolumn w zestawie wierszy, które razem jednoznacznie identyfikują wiersz.VARIANT_TRUE: The column is one of a set of columns in the rowset that, taken together, uniquely identify the row. Zestaw kolumn z IsKeyem ustawionym na VARIANT_TRUE musi jednoznacznie identyfikować wiersz w zestawie wierszy.The set of columns with IsKey set to VARIANT_TRUE must uniquely identify a row in the rowset. Nie istnieje wymóg, że ten zestaw kolumn jest minimalnym zestawem kolumn.There is no requirement that this set of columns is a minimal set of columns. Ten zestaw kolumn może zostać wygenerowany na podstawie klucza podstawowego tabeli podstawowej, unikatowego ograniczenia lub unikatowego indeksu.This set of columns may be generated from a base table primary key, a unique constraint or a unique index.

VARIANT_FALSE: kolumna nie jest wymagana do unikatowego identyfikowania wiersza.VARIANT_FALSE: The column is not required to uniquely identify the row.
IsautoincrementIsAutoIncrement DBCOLUMN_ISAUTOINCREMENTDBCOLUMN_ISAUTOINCREMENT VARIANT_TRUE: kolumna przypisuje wartości do nowych wierszy w stałych przyrostach.VARIANT_TRUE: The column assigns values to new rows in fixed increments.

VARIANT_FALSE: kolumna nie przypisuje wartości do nowych wierszy w stałych przyrostach.VARIANT_FALSE: The column does not assign values to new rows in fixed increments. Wartość domyślna tej kolumny to VARIANT_FALSE.The default of this column is VARIANT_FALSE.
BaseSchemaNameBaseSchemaName DBCOLUMN_BASESCHEMANAMEDBCOLUMN_BASESCHEMANAME Nazwa schematu w magazynie danych, który zawiera kolumnę.The name of the schema in the data store that contains the column. Wartość null, jeśli nie można ustalić nazwy podstawowego schematu.A null value if the base schema name cannot be determined. Wartością domyślną tej kolumny jest wartość null.The default of this column is a null value.
BaseCatalogNameBaseCatalogName DBCOLUMN_BASECATALOGNAMEDBCOLUMN_BASECATALOGNAME Nazwa katalogu w magazynie danych, który zawiera kolumnę.The name of the catalog in the data store that contains the column. Wartość null, jeśli nie można ustalić nazwy wykazu podstawowego.A null value if the base catalog name cannot be determined. Wartością domyślną tej kolumny jest wartość null.The default of this column is a null value.
BaseTableNameBaseTableName DBCOLUMN_BASETABLENAMEDBCOLUMN_BASETABLENAME Nazwa tabeli lub widoku w magazynie danych, który zawiera kolumnę.The name of the table or view in the data store that contains the column. Wartość null, jeśli nie można ustalić nazwy tabeli podstawowej.A null value if the base table name cannot be determined. Wartością domyślną tej kolumny jest wartość null.The default of this column is a null value.
BaseColumnNameBaseColumnName DBCOLUMN_BASECOLUMNNAMEDBCOLUMN_BASECOLUMNNAME Nazwa kolumny w magazynie danych.The name of the column in the data store. Może się to różnić od nazwy kolumny zwracanej w kolumnie ColumnName, jeśli użyto aliasu.This might be different from the column name returned in the ColumnName column if an alias was used. Wartość null, jeśli nie można określić nazwy kolumny bazowej lub jeśli kolumna zestawu wierszy jest pochodna, ale nie jest identyczna z kolumną w magazynie danych.A null value if the base column name cannot be determined or if the rowset column is derived, but not identical to, a column in the data store. Wartością domyślną tej kolumny jest wartość null.The default of this column is a null value.

Uwaga

Aby upewnić się, że kolumny metadanych zwracają poprawne informacje, należy wywołać ExecuteReader z behavior parametrem ustawionym na KeyInfo .To make sure that metadata columns return the correct information, you must call ExecuteReader with the behavior parameter set to KeyInfo. W przeciwnym razie niektóre kolumny w tabeli schematu mogą zwracać wartości domyślne, null lub nieprawidłowe dane.Otherwise, some of the columns in the schema table may return default, null, or incorrect data.

Dotyczy

Zobacz też