SqlDataReader.GetSchemaTable Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение DataTable , описывающее метаданные столбца SqlDataReader.
public:
virtual System::Data::DataTable ^ GetSchemaTable();
public:
override System::Data::DataTable ^ GetSchemaTable();
public System.Data.DataTable GetSchemaTable();
public override System.Data.DataTable GetSchemaTable();
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Function GetSchemaTable () As DataTable
Public Overrides Function GetSchemaTable () As DataTable
Возвращаемое значение
A DataTable , описывающий метаданные столбца.
Реализации
Исключения
Комментарии
Метод GetSchemaTable возвращает следующие метаданные о каждом столбце:
| Столбец DataReader | Description |
|---|---|
| AllowDBNull | Если потребитель может задать для столбца значение NULL или если поставщик не может определить, может ли потребитель задать для столбца значение NULL. В противном случае не задано. Столбец может содержать значения NULL, даже если оно не может иметь значение NULL. |
| BaseCatalogName | Имя каталога в хранилище данных, содержащее столбец. ЗНАЧЕНИЕ NULL, если не удается определить имя базового каталога. По умолчанию этот столбец имеет значение NULL. |
| BaseColumnName | Имя столбца в хранилище данных. Это может отличаться от имени столбца, возвращаемого в столбце ColumnName, если использовался псевдоним. Значение NULL, если имя базового столбца не может быть определено или если столбец набора строк является производным, но не идентичен столбцу в хранилище данных. По умолчанию этот столбец имеет значение NULL. |
| BaseSchemaName | Имя схемы в хранилище данных, содержащего столбец. Значение NULL, если не удается определить имя базовой схемы. По умолчанию этот столбец имеет значение NULL. |
| BaseServerName | Имя экземпляра Microsoft SQL Server, используемого SqlDataReader. |
| BaseTableName | Имя таблицы или представления в хранилище данных, содержащего столбец. Значение NULL, если не удается определить имя базовой таблицы. По умолчанию этот столбец имеет значение NULL. |
| ColumnName | Имя столбца; Это может быть не уникальным. Если это невозможно определить, возвращается значение NULL. Это имя всегда отражает последнее переименование столбца в текущем представлении или тексте команды. |
| ColumnOrdinal | Порядковый номер от нуля столбца. Этот столбец не может содержать значение NULL. |
| РазмерСтолбца | Максимальная длина значения в столбце. Для столбцов, использующих тип данных фиксированной длины, это размер типа данных. Для столбцов nvarchar(MAX), varchar(MAX) и varbinary(MAX) столбцов, хранящихся в базе данных SQL Server, максимальный размер составляет 2 ГБ. Если эти столбцы хранятся и получают доступ к файлам, ограничение максимального размера накладывается файловой системой. Это значение изменяется при использовании ключевого слова Type System Version в строка подключения. Для новых типов они представлены как типы нижнего уровня. Типы данных MAX возвращают обычные 4k для nvarchar и 8000 для varchar. Дополнительные сведения см. в справочнике Transact-SQL. |
| DataTypeName | Возвращает строку, представляющую тип данных указанного столбца. |
| IsAliased |
true: имя столбца — это псевдоним.false: имя столбца не является псевдонимом. |
| IsAutoIncrement |
true: столбец назначает значения новым строкам в фиксированных добавочных значениях.false: столбец не назначает значения новым строкам в фиксированных добавочных значениях. Значением по умолчанию является этот столбец false. |
| IsColumnSet |
true: столбец является разреженным столбцом, который является членом набора столбцов. |
| IsExpression |
true: столбец является выражением.false: столбец не является выражением. |
| Скрыто |
true: столбец скрыт.false: столбец не скрыт. |
| IsIdentity |
true: столбец является столбцом удостоверения.false: столбец не является столбцом удостоверений. |
| IsKey |
true: столбец является одним из наборов столбцов в наборе строк, которые, взятые вместе, однозначно идентифицируют строку. Набор столбцов с IsKey набором true для уникальной идентификации строки в наборе строк. Этот набор столбцов не является минимальным набором столбцов. Этот набор столбцов может быть создан из первичного ключа базовой таблицы, уникального ограничения или уникального индекса.false: столбец не требуется для уникальной идентификации строки. |
| IsLong |
true: столбец содержит двоичный длинный объект (BLOB), содержащий очень длинные данные. Определение очень длинных данных зависит от поставщика.false: столбец не содержит двоичный длинный объект (BLOB), содержащий очень длинные данные. |
| IsReadOnly |
true: нельзя изменить столбец.false: столбец можно изменить. |
| IsRowVersion |
true: столбец содержит постоянный идентификатор строки, в который нельзя записать, и не имеет значимых значений, кроме идентификатора строки.false: столбец не содержит постоянный идентификатор строки, который не может быть записан в, и не имеет значимых значений, кроме идентификатора строки. |
| IsUnique |
true: столбец имеет тип timestamp.false: столбец не имеет типа timestamp. |
| NonVersionedProviderType | Тип столбца независимо от текущего Type System Version, указанного в строка подключения. Возвращаемое значение из SqlDbType перечисления. |
| Числовойprecision | Если ProviderType это числовой тип данных, это максимальная точность столбца. Точность зависит от определения столбца. Если ProviderType тип данных не является числовым, это значение равно 255. |
| NumericScale | Если ProviderType DBTYPE_DECIMAL или DBTYPE_NUMERIC, число цифр справа от десятичной запятой. В противном случае это значение равно 255. |
| ProviderSpecificDataType | Возвращает тип данных для конкретного поставщика столбца на основе ключевого слова Type System Version в строка подключения. |
| ProviderType | Индикатор типа данных столбца. Если тип данных столбца зависит от строки к строке, это должен быть объект. Этот столбец не может содержать значение NULL. |
| UdtAssemblyQualifiedName | Если столбец является определяемым пользователем типом (UDT), это полное имя сборки AssemblyQualifiedNameопределяемого пользователем типа. Если столбец не является определяемой пользователем, это значение NULL. |
| XmlSchemaCollectionDatabase | Имя базы данных, в которой находится коллекция схем для этого экземпляра XML, если строка содержит сведения о XML-столбце. Это значение равно null (Nothing в Visual Basic), если коллекция определена в текущей базе данных. Он также имеет значение NULL, если нет коллекции схем, в этом случае столбцы XmlSchemaCollectionNameXmlSchemaCollectionOwningSchema также имеют значение NULL. |
| XmlSchemaCollectionName | Имя коллекции схем для этого экземпляра XML, если строка содержит сведения о XML-столбце. Это значение равно null (Nothing в Visual Basic), если нет связанной коллекции схем. Если значение равно NULL, XmlSchemaCollectionDatabase столбцы XmlSchemaCollectionOwningSchema также имеют значение NULL. |
| XmlSchemaCollectionOwningSchema | Реляционная схема, в которой находится коллекция схем для этого экземпляра XML, если строка содержит сведения о XML-столбце. Это значение равно null (Nothing в Visual Basic), если коллекция определена в текущей базе данных. Он также имеет значение NULL, если нет коллекции схем, в этом случае столбцы XmlSchemaCollectionDatabaseXmlSchemaCollectionName также имеют значение NULL. |
Note
Чтобы убедиться, что столбцы метаданных возвращают правильные сведения, необходимо вызвать ExecuteReader параметр с заданным параметром behaviorKeyInfo. В противном случае некоторые столбцы в таблице схемы могут возвращать значения по умолчанию, null или неверные данные.