Compartir a través de


IDataAdapter.FillSchema(DataSet, SchemaType) Método

Definición

Agrega un DataTable denominado "Table" al especificado DataSet y configura el esquema para que coincida con el del origen de datos basado en el especificado SchemaType.

public:
 cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public 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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
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

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

schemaType
SchemaType

Uno de los SchemaType valores.

Devoluciones

Matriz de DataTable objetos que contienen información de esquema devuelta desde el origen de datos.

Atributos

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 una o varias columnas de clave principal las devuelve SelectCommand, 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 admiten valores NULL. Si alguna de las columnas admite valores NULL, UniqueConstraint se agrega a ConstraintCollection, pero no se establece la PrimaryKey propiedad .

  • Si se devuelven las columnas de clave principal y las 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 ConstraintCollection según 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 un DataTable, genera 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 DataSet el 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