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

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

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