Метод SqlCeDataReader.GetSchemaTable
Возвращает объект DataTable, описывающий метаданные столбцов модуля чтения данных SqlCeDataReader.
Пространство имен: System.Data.SqlServerCe
Сборка: System.Data.SqlServerCe (в System.Data.SqlServerCe.dll)
Синтаксис
'Декларация
Public Overrides Function GetSchemaTable As DataTable
'Применение
Dim instance As SqlCeDataReader
Dim returnValue As DataTable
returnValue = instance.GetSchemaTable()
public override DataTable GetSchemaTable()
public:
virtual DataTable^ GetSchemaTable() override
abstract GetSchemaTable : unit -> DataTable
override GetSchemaTable : unit -> DataTable
public override function GetSchemaTable() : DataTable
Возвращаемое значение
Тип: System.Data.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 не поддерживает закладки. |
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 показывает, что столбец изменять нельзя. |