OleDbDataReader.GetSchemaTable Метод

Определение

Возвращает значение DataTable , описывающее метаданные столбца 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

Возвращаемое значение

A DataTable , описывающий метаданные столбца.

Реализации

Исключения

Комментарии

Метод GetSchemaTable сопоставляется с методом OLE DB IColumnsRowset::GetColumnsRowset и возвращает метаданные о каждом столбце в следующем порядке:

Столбец DataReader Идентификатор столбца OLE DB Description
ColumnName DBCOLUMN_NAME Имя столбца; Это может быть не уникальным. Если это невозможно определить, возвращается значение NULL. Это имя всегда отражает последнее переименование столбца в текущем представлении или тексте команды.
ColumnOrdinal DBCOLUMN_NUMBER Порядковый номер от нуля столбца. Этот столбец не может содержать значение NULL.
РазмерСтолбца DBCOLUMN_COLUMNSIZE Максимальная длина значения в столбце. Для столбцов, использующих тип данных фиксированной длины, это размер типа данных.
Числовойprecision DBCOLUMN_PRECISION Если DbType является числовым типом данных, это максимальная точность столбца. Точность столбцов с типом данных DBTYPE_DECIMAL или DBTYPE_NUMERIC зависит от определения столбца. Если DbType не является числовым типом данных, это значение NULL.
NumericScale DBCOLUMN_SCALE Если dbType DBTYPE_DECIMAL или DBTYPE_NUMERIC, это число цифр справа от десятичной запятой. В противном случае это значение null.
Тип данных None Сопоставляется с типом .NET столбца.
ProviderType DBCOLUMN_TYPE Индикатор типа данных столбца. Если тип данных столбца зависит от строки к строке, это должно быть DBTYPE_VARIANT. Этот столбец не может содержать значение NULL.
IsLong DBCOLUMNFLAGS_ISLONG Поставщик задает DBCOLUMNFLAGS_ISLONG, если столбец содержит двоичный длинный объект (BLOB), содержащий очень длинные данные. Определение очень длинных данных зависит от поставщика. Параметр этого флага соответствует значению столбца IS_LONG в наборе строк PROVIDER_TYPES для типа данных.
AllowDBNull DBCOLUMNFLAGS_ISNULLABLE Поставщик задает DBCOLUMNFLAGS_ISNULLABLE, если потребитель может задать для столбца значение NULL или если поставщик не может определить, может ли потребитель задать столбцу значение NULL. Столбец может содержать значения NULL, даже если оно не может иметь значение NULL.
IsReadOnly DBCOLUMNFLAGS_WRITE true Значение , если столбец не может быть изменен; в противном случае false. Предполагается, что столбец будет записываемым, если поставщик установил флаг DBCOLUMNFLAGS_WRITE или DBCOLUMNFLAGS_WRITEUNKNOWN.
IsRowVersion DBCOLUMNFLAGS_ISROWID Поставщик задает DBCOLUMNFLAGS_ISROWID, если столбец содержит постоянный идентификатор строки, в который нельзя записать, и не имеет значимых значений, кроме идентификатора строки.
IsUnique DBCOLUMN_ISUNIQUE VARIANT_TRUE: в базовой таблице, возвращаемой в BaseTableName, не две строки могут иметь одинаковое значение в этом столбце. IsUnique гарантированно VARIANT_TRUE, если столбец представляет ключ самостоятельно или имеет ограничение типа UNIQUE, которое применяется только к этому столбцу.

VARIANT_FALSE. Столбец может содержать повторяющиеся значения в базовой таблице. Значение по умолчанию этого столбца VARIANT_FALSE.
IsKey DBCOLUMN_KEYCOLUMN VARIANT_TRUE. Столбец является одним из наборов столбцов в наборе строк, которые, взятые вместе, однозначно идентифицируют строку. Набор столбцов с набором IsKey, равным VARIANT_TRUE, должен однозначно идентифицировать строку в наборе строк. Этот набор столбцов не является минимальным набором столбцов. Этот набор столбцов может быть создан из первичного ключа базовой таблицы, уникального ограничения или уникального индекса.

VARIANT_FALSE. Столбец не требуется для уникальной идентификации строки.
IsAutoIncrement DBCOLUMN_ISAUTOINCREMENT VARIANT_TRUE. Столбец назначает значения новым строкам в фиксированных добавочных значениях.

VARIANT_FALSE. Столбец не назначает значения новым строкам в фиксированных добавочных значениях. Значение по умолчанию этого столбца VARIANT_FALSE.
BaseSchemaName DBCOLUMN_BASESCHEMANAME Имя схемы в хранилище данных, содержащего столбец. Значение NULL, если не удается определить имя базовой схемы. По умолчанию этот столбец имеет значение NULL.
BaseCatalogName DBCOLUMN_BASECATALOGNAME Имя каталога в хранилище данных, содержащее столбец. Значение NULL, если не удается определить имя базового каталога. По умолчанию этот столбец имеет значение NULL.
BaseTableName DBCOLUMN_BASETABLENAME Имя таблицы или представления в хранилище данных, содержащего столбец. Значение NULL, если не удается определить имя базовой таблицы. По умолчанию этот столбец имеет значение NULL.
BaseColumnName DBCOLUMN_BASECOLUMNNAME Имя столбца в хранилище данных. Это может отличаться от имени столбца, возвращаемого в столбце ColumnName, если использовался псевдоним. Значение NULL, если имя базового столбца не может быть определено или если столбец набора строк является производным, но не идентичен столбцу в хранилище данных. По умолчанию этот столбец имеет значение NULL.

Note

Чтобы убедиться, что столбцы метаданных возвращают правильные сведения, необходимо вызвать ExecuteReader параметр с заданным параметром behaviorKeyInfo. В противном случае некоторые столбцы в таблице схемы могут возвращать значения по умолчанию, null или неверные данные.

Применяется к

См. также раздел