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 или неверные данные.