SqlDataReader.GetSchemaTable Метод

Определение

Возвращает таблицу данных DataTable, описывающую метаданные столбца SqlDataReader.Returns a DataTable that describes the column metadata of the SqlDataReader.

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

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

Объект DataTable, описывающий метаданные столбцов.A DataTable that describes the column metadata.

Реализации

Исключения

Объект SqlDataReader закрыт.The SqlDataReader is closed.

Комментарии

Для метода GetSchemaTable возвращает метаданные о каждом столбце в следующем порядке:For the GetSchemaTable method returns metadata about each column in the following order:

Столбец DataReaderDataReader column DescriptionDescription
AllowDBNullAllowDBNull Установите, если потребитель может задать для столбца значение null, или если поставщик не может определить, может ли потребитель установить значение NULL для столбца.Set 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. В противном случае — не задается.Otherwise, not set. Столбец может содержать значения NULL, даже если сам столбец не может иметь значение NULL.A column may contain null values, even if it cannot be set to a null value.
BaseCatalogNameBaseCatalogName Имя каталога в хранилище данных, содержащем столбец.The name of the catalog in the data store that contains the column. Значение NULL, если не удается определить базовое имя каталога.NULL if the base catalog name cannot be determined. Значением по умолчанию для этого столбца является значение null.The default of this column is a null value.
BaseColumnNameBaseColumnName Имя столбца в хранилище данных.The name of the column in the data store. Это может отличаться от имени столбца, возвращенного в столбце ColumnName, если был использован псевдоним.This might be different than the column name returned in the ColumnName column if an alias was used. Значение null, если имя базового столбца не может быть определено или если столбец набора строк является производным, но не идентичен столбцу в хранилище данных.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. Значением по умолчанию для этого столбца является значение null.The default of this column is a null value.
BaseSchemaNameBaseSchemaName Имя схемы в хранилище данных, содержащем столбец.The name of the schema in the data store that contains the column. Значение NULL, если невозможно определить имя базовой схемы.A null value if the base schema name cannot be determined. Значением по умолчанию для этого столбца является значение null.The default of this column is a null value.
басесервернамеBaseServerName Имя экземпляра Microsoft SQL Server, используемого SqlDataReader.The name of the instance of Microsoft SQL Server used by the SqlDataReader.
BaseTableNameBaseTableName Имя таблицы или представления в хранилище данных, содержащем столбец.The name of the table or view in the data store that contains the column. Значение NULL, если невозможно определить имя базовой таблицы.A null value if the base table name cannot be determined. Значением по умолчанию для этого столбца является значение null.The default of this column is a null value.
ColumnNameColumnName Имя столбца; Это может быть неуникальным.The name of the column; this might not be unique. Если определить не удается, то будет возвращено значение NULL.If this cannot be determined, a null value is returned. Это имя всегда отражает последнее переименование столбца в текущем представлении или в тексте команды.This name always reflects the most recent renaming of the column in the current view or command text.
ColumnOrdinalColumnOrdinal Отсчитываемый от нуля порядковый номер столбца.The zero-based ordinal of the column. Этот столбец не может содержать значение NULL.This column cannot contain a null value.
ColumnSizeColumnSize Максимально допустимая длина значения данного столбца.The maximum possible length of a value in the column. Для столбцов, использующих тип данных фиксированной длины, это размер типа данных.For columns that use a fixed-length data type, this is the size of the data type. Для столбцов nvarchar(MAX), varchar(MAX)и varbinary(MAX), хранящихся в базе данных SQL Server, максимальный размер составляет 2 ГБ.For nvarchar(MAX), varchar(MAX), and varbinary(MAX) columns stored in a SQL Server database, the maximum size is 2GB. Если эти столбцы хранятся и доступны как файлы, то ограничение на максимальный размер накладывается файловой системой.If these columns are stored and accessed as files, the limit on maximum size is imposed by the file system. Это значение изменяется при использовании ключевого слова Type System Version в строке подключения.This value changes when using the Type System Version keyword in the connection string. Для новых типов они представлены как типы нижнего уровня.For new types they are represented as downlevel types. Типы данных MAX возвращают обычные 4 КБ для nvarchar и 8000 для varchar.The MAX data types return the normal 4k for nvarchar and 8000 for varchar. Дополнительные сведения см. в справочнике по Transact-SQL.For more information, see the Transact-SQL reference.
TypeNameDataTypeName Возвращает строку, представляющую тип данных указанного столбца.Returns a string representing the data type of the specified column.
С псевдонимамиIsAliased true: имя столбца является псевдонимом.true: The column name is an alias.

false: имя столбца не является псевдонимом.false: The column name is not an alias.
IsAutoIncrementIsAutoIncrement true: столбец присваивает значения новым строкам с фиксированным приращением.true: The column assigns values to new rows in fixed increments.

false: столбец не присваивает значения новым строкам с фиксированным приращением.false: The column does not assign values to new rows in fixed increments. По умолчанию этот столбец имеет значение false.The default of this column is false.
IsColumnSetIsColumnSet true: столбец является разреженным столбцом, который является элементом набора столбцов.true: The column is a sparse column that is a member of a column set.
ВыражениеIsExpression true: столбец является выражением.true: The column is an expression.

false: столбец не является выражением.false: The column is not an expression.
IsHiddenIsHidden true: столбец скрыт.true: The column is hidden.

false: столбец не скрыт.false: The column is not hidden.
IsIdentityIsIdentity true: столбец является столбцом идентификаторов.true: The column is an identity column.

false: столбец не является столбцом идентификаторов.false: The column is not an identity column.
IsKeyIsKey true: столбец является одним из набора столбцов в наборе строк, которые вместе однозначно идентифицируют строку.true: The column is one of a set of columns in the rowset that, taken together, uniquely identify the row. Набор столбцов с параметром IsKey, имеющим значение true, должен однозначно определять строку в наборе строк.The set of columns with IsKey set to true must uniquely identify a row in the rowset. Нет необходимости, чтобы этот набор столбцов являлся минимальным.There is no requirement that this set of columns is a minimal set of columns. Этот набор столбцов может быть создан на базе первичного ключа базовой таблицы, уникального ограничения или уникального индекса.This set of columns may be generated from a base table primary key, a unique constraint or a unique index.

false: столбец не требуется для уникальной идентификации строки.false: The column is not required to uniquely identify the row.
IsLongIsLong true: столбец содержит большой двоичный объект (BLOB), который содержит очень длинные данные.true: The column contains a Binary Long Object (BLOB) that contains very long data. Определение очень большого объема данных зависит от поставщика.The definition of very long data is provider-specific.

false: столбец не содержит большой двоичный объект (BLOB), содержащий очень длинные данные.false: The column does not contain a Binary Long Object (BLOB) that contains very long data.
IsReadOnlyIsReadOnly true: столбец не может быть изменен.true: The column cannot be modified.

false: столбец можно изменить.false: The column can be modified.
IsRowVersionIsRowVersion true: столбец содержит постоянный идентификатор строки, который не может быть записан в, и не имеет осмысленного значения, кроме идентификатора строки.true: The column contains a persistent row identifier that cannot be written to, and has no meaningful value except to identity the row.

false: столбец не содержит постоянный идентификатор строки, который не может быть записан в, и не имеет осмысленного значения, кроме идентификатора строки.false: The column does not contain a persistent row identifier that cannot be written to, and has no meaningful value except to identity the row.
IsUniqueIsUnique true: столбец имеет тип timestamp.true: Column is of type timestamp.

false: тип столбца не timestamp.false: Column is not of type timestamp.
нонверсионедпровидертипеNonVersionedProviderType Тип столбца независимо от текущего Type System Version, указанного в строке подключения.The type of the column irrespective of the current Type System Version specified in the connection string. Возвращаемое значение относится к перечислению SqlDbType.The returned value is from the SqlDbType enumeration.
NumericPrecisionNumericPrecision Если ProviderType является числовым типом данных, это максимальная точность столбца.If ProviderType is a numeric data type, this is the maximum precision of the column. Точность зависит от определения столбца.The precision depends on the definition of the column. Если ProviderType не является числовым типом данных, это 255.If ProviderType is not a numeric data type, this is 255.
NumericScaleNumericScale Если ProviderType имеет DBTYPE_DECIMAL или DBTYPE_NUMERIC, количество цифр справа от десятичной запятой.If ProviderType is DBTYPE_DECIMAL or DBTYPE_NUMERIC, the number of digits to the right of the decimal point. В противном случае — 255.Otherwise, this is 255.
провидерспеЦификдататипеProviderSpecificDataType Возвращает зависящий от поставщика тип данных столбца на основе ключевого слова Type System Version в строке подключения.Returns the provider-specific data type of the column based on the Type System Version keyword in the connection string.
ProviderTypeProviderType Признак типа данных столбца.The indicator of the column's data type. Если тип данных столбца отличается от строки к строке, то это должен быть Object.If the data type of the column varies from row to row, this must be Object. Этот столбец не может содержать значение NULL.This column cannot contain a null value.
удтассембликуалифиеднамеUdtAssemblyQualifiedName Если столбец является определяемым пользователем типом (UDT), это полное имя сборки определяемого пользователем типа в зависимости от AssemblyQualifiedName.If the column is a user-defined type (UDT), this is the qualified name of the UDT's assembly as per AssemblyQualifiedName. Если столбец не является определяемым пользователем типом, это значение равно null.If the column is not a UDT, this is null.
XmlSchemaCollectionDatabaseXmlSchemaCollectionDatabase Имя базы данных, в которой находится коллекция схем для данного экземпляра XML, если строка содержит сведения о XML-столбце.The name of the database where the schema collection for this XML instance is located, if the row contains information about an XML column. Это значение null (Nothing в Visual Basic), если коллекция определена в текущей базе данных.This value is null (Nothing in Visual Basic) if the collection is defined within the current database. Также имеет значение null, если нет коллекции схем, в этом случае столбцы XmlSchemaCollectionName и XmlSchemaCollectionOwningSchema также имеют значение null.It is also null if there is no schema collection, in which case the XmlSchemaCollectionName and XmlSchemaCollectionOwningSchema columns are also null.
XmlSchemaCollectionNameXmlSchemaCollectionName Имя коллекции схем для данного экземпляра XML, если строка содержит сведения о XML-столбце.The name of the schema collection for this XML instance, if the row contains information about an XML column. Это значение null (Nothing в Visual Basic), если нет связанной коллекции схем.This value is null (Nothing in Visual Basic) if there is no associated schema collection. Если значение равно null, столбцы XmlSchemaCollectionDatabase и XmlSchemaCollectionOwningSchema также имеют значение null.If the value is null, the XmlSchemaCollectionDatabase and XmlSchemaCollectionOwningSchema columns are also null.
Xmlschemacollectionowningschema неXmlSchemaCollectionOwningSchema Реляционная схема-владелец, в которой находится коллекция схем для данного экземпляра XML, если строка содержит сведения о столбце XML.The owning relational schema where the schema collection for this XML instance is located, if the row contains information about an XML column. Это значение null (Nothing в Visual Basic), если коллекция определена в текущей базе данных.This value is null (Nothing in Visual Basic) if the collection is defined within the current database. Также имеет значение null, если нет коллекции схем, в этом случае столбцы XmlSchemaCollectionDatabase и XmlSchemaCollectionName также имеют значение null.It is also null if there is no schema collection, in which case the XmlSchemaCollectionDatabase and XmlSchemaCollectionName columns are also null.

Примечание

Чтобы убедиться, что столбцы метаданных возвращают правильные сведения, необходимо вызвать ExecuteReader с параметром behavior, для которого задано значение KeyInfo.To make sure that metadata columns return the correct information, you must call ExecuteReader with the behavior parameter set to KeyInfo. В противном случае некоторые столбцы в таблице схемы могут возвращать значения по умолчанию, null или неверные данные.Otherwise, some of the columns in the schema table may return default, null, or incorrect data.

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

Дополнительно