SqlCeDataReader.GetSchemaTable Method

Возвращает объект DataTable, описывающий метаданные столбцов модуля чтения данных SqlCeDataReader.

Пространство имен: System.Data.SqlServerCe
Сборка: System.Data.SqlServerCe (в system.data.sqlserverce.dll)

Синтаксис

'Декларация
Public Overrides Function GetSchemaTable As DataTable
public override DataTable GetSchemaTable ()
public:
virtual DataTable^ GetSchemaTable () override
public DataTable GetSchemaTable ()
public override function GetSchemaTable () : DataTable

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

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

Исключения

Тип исключения Условие
InvalidOperationException

Недопустимая операция. Объект SqlCeDataReader может располагаться за последней строкой в результирующем наборе.

Замечания

Если объект SqlCeDataReader считывает столбцы из нескольких базовых таблиц, то он не будет заполнять таблицу схемы значениями IsKey, точно так же, как это происходит при выборке по инструкции SELECT.

SELECT FirstName, LastName, 1+2 FROM Employees  

Запрос считывает столбцы из двух различных таблиц — таблицы Employees в базе данных Northwind и временной таблицы, созданной для операции 1+2.

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

Столбец таблицы схемы

Описание

ColumnName

Имя столбца. Имя может не быть уникальным. Если имя определить не удалось, возвращается значение null. Это имя всегда отражает самое последнее переименование столбца в текущем представлении или в тексте команды.

ColumnOrdinal

Порядковый номер столбца. Порядковые номера начинаются с нуля. SQL Server Compact 3.5 не поддерживает закладки.

ColumnSize

Максимально допустимая длина значения данного столбца. Для столбцов, имеющих тип данных с фиксированной длиной, максимальная длина — это размер типа данных.

NumericPrecision

Если ProviderType является числовым типом данных, то это свойство указывает максимальную точность столбца. Она зависит от определения столбца. Если же ProviderType не является числовым типом данных, то свойство содержит значение null.

NumericScale

Если ProviderType имеет тип DBTYPE_DECIMAL или DBTYPE_NUMERIC, то это свойство представляет число цифр справа от десятичной запятой. В противном случае содержит значение null.

IsUnique

Если задано значение true, то никакие две строки в базовой таблице, возвращаемой в параметре BaseTableName, не могут иметь одинаковые значения в этом столбце. Свойство IsUnique всегда имеет значение true, если столбец является ключом или если для него существует ограничение типа UNIQUE, применяемое только к этому столбцу. Если свойство имеет значение false, то в столбце могут содержаться значения, повторяющиеся в пределах базовой таблицы. По умолчанию этот столбец имеет значение false.

IsKey

Значение true показывает, что столбец входит в группу столбцов в наборе строк, которая в совокупности уникальным образом идентифицирует строку. Набор столбцов, свойство IsKey которых имеет значение true, должен уникальным образом идентифицировать строку в наборе строк. Минимального числа столбцов для такого набора не существует. Набор столбцов может состоять из первичного ключа базовой таблицы, ограничения уникальности или уникального индекса. Значение false показывает, что столбец не является необходимым для уникальной идентификации строки.

BaseColumnName

Имя столбца в хранилище данных. Это свойство имеет значение null, если имя базового столбца определить не удалось или если столбец набора строк является производным от столбца в хранилище данных, но не идентичен ему. Значение по умолчанию для этого столбца равно NULL.

BaseTableName

Имя таблицы в хранилище данных, в котором хранится столбец. Имеет значение null в том случае, если не удалось определить имя базовой таблицы. Значение по умолчанию для этого столбца равно NULL.

DataType

Сопоставляется с типом .NET Framework столбца.

AllowDBNull

Это свойство установлено в том случае, если потребитель может присвоить столбцу значение null, или поставщик не может определить, может ли потребитель присваивать столбцу значение null. В противном случае не установлено. Столбец может содержать значения null даже в том случае, если он не может быть установлен в это значение.

ProviderType

Признак типа данных столбца. Этот столбец не может содержать значение null.

IsAutoIncrement

Если задано значение true, то столбец присваивает новым строкам значения с фиксированным приращением. Значение false показывает, что новые строки в столбце не получают значения с фиксированным приращением. По умолчанию этот столбец имеет значение false.

IsRowVersion

Это свойство устанавливается, если столбец содержит постоянный идентификатор строки, который не может быть перезаписан, и не имеет других применений, кроме уникальной идентификации строки.

IsLong

Это свойство устанавливается, если столбец содержит большой двоичный объект BLOB, в котором содержится очень большой объем данных.

IsReadOnly

Если это свойство имеет значение true, то столбец может быть изменен. Значение false показывает, что столбец изменять нельзя.

Многопоточное использование

Все общие статические члены (Shared в Microsoft Visual Basic) этого типа можно использовать в многопоточных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

Платформы

Платформы разработки

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Сведения о версии
.NET Framework и NET Compact Framework
Поддерживается в версии 3.5
.NET Framework
Поддерживается в версии 3.0
.NET Compact Framework и .Net Framework
Поддерживается в версии 2.0

См. также

Справочник

SqlCeDataReader Class
SqlCeDataReader Members
System.Data.SqlServerCe Namespace