Compartir a través de


IDataAdapter.FillSchema(DataSet, SchemaType) Método

Definición

Agrega una DataTable denominada "Table" para el DataSet especificado y configura el esquema para que coincida con el origen de datos basado en el SchemaType especificado.

public:
 cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()

Parámetros

dataSet
DataSet

DataSet que se debe rellenar con el esquema del origen de datos.

schemaType
SchemaType

Uno de los valores de SchemaType.

Devoluciones

Matriz de objetos DataTable que contienen la información de esquema devuelta a partir del origen de datos.

Comentarios

El FillSchema método recupera el esquema del origen de datos mediante SelectCommand. El objeto de conexión asociado a SelectCommand debe ser válido, pero no es necesario abrirlo. Si se cierra la conexión antes FillSchema de llamar a , se abre para recuperar datos y, a continuación, se cierra. Si la conexión está abierta antes FillSchema de llamar a , permanece abierta.

Una FillSchema operación agrega un DataTable objeto al destino DataSet. A continuación, agrega columnas a DataColumnCollection de DataTable y configura las siguientes DataColumn propiedades si existen en el origen de datos:

FillSchema también configura las PrimaryKey propiedades y Constraints según las reglas siguientes:

  • Si devuelve una o varias columnas SelectCommandde clave principal , se usan como columnas de clave principal para .DataTable

  • Si no se devuelve ninguna columna de clave principal, pero las columnas únicas son , las columnas únicas se usan como clave principal si todas las columnas únicas no aceptan valores NULL. Si alguna de las columnas acepta valores NULL, se agrega a UniqueConstraintConstraintCollection, pero la PrimaryKey propiedad no se establece.

  • Si se devuelven columnas de clave principal y columnas únicas, las columnas de clave principal se usan como columnas de clave principal para .DataTable

Tenga en cuenta que las claves principales y las restricciones únicas se agregan a según ConstraintCollection las reglas anteriores, pero no se agregan otros tipos de restricción.

Si se define un índice clúster único en una columna o columnas de una tabla de SQL Server y la restricción de clave principal se define en un conjunto independiente de columnas, se devolverán los nombres de las columnas del índice agrupado. Para devolver el nombre o los nombres de las columnas de clave principal, use una sugerencia de consulta con la instrucción SELECT que especifica el nombre del índice de clave principal. Para obtener más información sobre cómo especificar sugerencias de consulta, vea Sugerencias (Transact-SQL): consulta.

Si encuentra IDataAdapter columnas duplicadas al rellenar , DataTablegenera nombres para las columnas sucesivas, utilizando el patrón "columnname1", "columnname2", "columnname3", etc. Si los datos entrantes contienen columnas sin nombre, se colocan según el DataSet patrón "Column1", "Column2", etc. Cuando se agregan varios conjuntos de resultados a DataSet, cada conjunto de resultados se coloca en una tabla independiente. Los conjuntos de resultados adicionales se denominan anexando valores enteros al nombre de tabla especificado (por ejemplo, "Table", "Table1", "Table2", etc.). Las aplicaciones deben tener precaución al usar nombres de columna y tabla para asegurarse de que no se produzcan conflictos con estos patrones de nomenclatura.

FillSchema no devuelve ninguna fila. Use el Fill método para agregar filas a .DataTable

Se aplica a

Consulte también