Compartir a través de


SqlCeDataReader.GetSchemaTable Método

Devuelve un DataTable que describe los metadatos de columna del SqlCeDataReader.

Espacio de nombres:  System.Data.SqlServerCe
Ensamblado:  System.Data.SqlServerCe (en System.Data.SqlServerCe.dll)

Sintaxis

'Declaración
Public Overrides Function GetSchemaTable As DataTable
'Uso
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

Valor devuelto

Tipo: System.Data.DataTable
Una DataTable que describe los metadatos de columna.

Implementa

IDataReader.GetSchemaTable()

Excepciones

Excepción Condición
InvalidOperationException

La operación no es válida. SqlCeDataReader puede colocarse detrás de la última fila del conjunto de resultados.

Comentarios

Si SqlCeDataReader está leyendo columnas de más de una tabla base, SqlCeDataReader no llenará la tabla del esquema con los valores de IsKey. Este comportamiento es parecido al comportamiento con una consulta SELECT:

SELECT FirstName, LastName, 1+2 FROM Employees  

La consulta está leyendo columnas de dos tablas distintas, la tabla Employees de la base de datos Northwind y la tabla temporal creada para 1+2.

El método GetSchemaTable se asigna al método IColumnsRowset::GetColumnsRowset de OLE DB y devuelve los metadatos de cada columna en el orden siguiente:

Columna de la tabla del esquema

Description

ColumnName

Nombre de la columna. Este nombre puede no ser único. Si no se puede determinar el nombre, se devuelve un valor nulo. Este nombre siempre refleja el cambio de nombre más reciente de la columna en la vista actual o texto de comando.

ColumnOrdinal

Ordinal de la columna. El número ordinal comienza por cero. SQL Server Compact no admite marcadores.

ColumnSize

Máxima longitud permitida de un valor de la columna. En el caso de las columnas que utilizan un tipo de datos de longitud fija, la longitud máxima es el tamaño del tipo de datos.

NumericPrecision

Precisión máxima de la columna, en caso de que ProviderType sea un tipo de dato numérico. La precisión depende de la definición de la columna. Si ProviderType no es un tipo de dato numérico, es un valor nulo.

NumericScale

Número de dígitos que se encuentran a la derecha del separador decimal, en caso de que ProviderType sea DBTYPE_DECIMAL o DBTYPE_NUMERIC. De lo contrario, es un valor null.

IsUnique

Si es true, no puede haber dos filas en la tabla base (tabla devuelta en BaseTableName) que tengan el mismo valor en esta columna. Se garantiza que IsUnique es true si la columna constituye una clave por sí misma o si hay una restricción de tipo UNIQUE que se aplica solo a esta columna. Si es false, la columna puede contener valores duplicados en la tabla base. El valor predeterminado de esta columna es false.

IsKey

Si es true, la columna pertenece a un conjunto de columnas del conjunto de filas que, juntas, identifican de forma única la fila. El conjunto de columnas con IsKey establecido en true debe identificar de forma única una fila del conjunto de filas. No es necesario que este conjunto de columnas sea un conjunto mínimo de columnas. Este conjunto de columnas se puede generar a partir de una clave principal de la tabla base, de una restricción única o de un índice único. Si es false, no es necesario que la columna identifique la fila de forma única.

BaseColumnName

Nombre de la columna en el almacén de datos. El nombre es un valor nulo si no puede determinarse el nombre de la columna base o si la columna del conjunto de filas se deriva de una columna del almacén de datos, pero no es idéntica a esta última. El valor predeterminado de esta columna es un valor nulo.

BaseTableName

Nombre de la tabla del almacén de datos que contiene la columna. El nombre es un valor nulo si el nombre de tabla base no puede determinarse. El valor predeterminado de esta columna es un valor nulo.

DataType

Se asigna al tipo .NET Framework de la columna.

AllowDBNull

Se establece si el consumidor puede establecer la columna en un valor nulo o si el proveedor no puede determinar si el consumidor puede establecer la columna en un valor nulo. En caso contrario, no está establecido. Una columna puede contener valores nulos, incluso si no se puede establecer en un valor nulo.

ProviderType

Indicador del tipo de datos de la columna. Esta columna no puede contener un valor null.

IsAutoIncrement

Si es true, la columna asigna valores a las filas nuevas con incrementos fijos. Si es false, la columna no asigna valores a las filas nuevas con incrementos fijos. El valor predeterminado de esta columna es false.

IsRowVersion

Establece si la columna contiene un identificador de fila persistente en el que no se puede escribir y no tiene ningún valor significativo salvo para identificar la fila.

IsLong

Establece si la columna contiene un BLOB (Binary Long Object, Objeto binario largo) que contiene datos muy largos.

IsReadOnly

Si es true, se puede modificar la columna. Si es false, la columna no se puede modificar.

Vea también

Referencia

SqlCeDataReader Clase

Espacio de nombres System.Data.SqlServerCe