IDataAdapter.FillSchema(DataSet, SchemaType) Método
Definição
Adiciona um DataTable com o nome “Tabela” ao DataSet especificado e configura o esquema para corresponder a eles na fonte de dados com base no SchemaType especificado.Adds a DataTable named "Table" to the specified DataSet and configures the schema to match that in the data source based on the specified SchemaType.
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
O DataSet a ser preenchido com o esquema da fonte de dados.The DataSet to be filled with the schema from the data source.
- schemaType
- SchemaType
Um dos valores de SchemaType.One of the SchemaType values.
Retornos
Uma matriz de objetos DataTable que contém informações de esquema retornadas da fonte de dados.An array of DataTable objects that contain schema information returned from the data source.
Comentários
O FillSchema método recupera o esquema da fonte de dados usando o SelectCommand .The FillSchema method retrieves the schema from the data source using the SelectCommand. O objeto de conexão associado ao SelectCommand deve ser válido, mas não precisa estar aberto.The connection object associated with the SelectCommand must be valid, but it does not need to be open. Se a conexão for fechada antes de FillSchema ser chamada, ela será aberta para recuperar dados e, em seguida, fechada.If the connection is closed before FillSchema is called, it is opened to retrieve data, then closed. Se a conexão for aberta antes de FillSchema ser chamada, ela permanecerá aberta.If the connection is open before FillSchema is called, it remains open.
Uma FillSchema operação adiciona um DataTable ao destino DataSet .A FillSchema operation adds a DataTable to the destination DataSet. Em seguida, ele adiciona colunas ao DataColumnCollection do DataTable e configura as propriedades a seguir, DataColumn se existirem na fonte de dados:It then adds columns to the DataColumnCollection of the DataTable and configures the following DataColumn properties if they exist at the data source:
AutoIncrement.AutoIncrement. Você deve definir AutoIncrementStep e AutoIncrementSeed separadamente.You must set AutoIncrementStep and AutoIncrementSeed separately.
FillSchema também configura as PrimaryKey Propriedades e de Constraints acordo com as seguintes regras:FillSchema also configures the PrimaryKey and Constraints properties according to the following rules:
Caso uma ou mais colunas de chave primária sejam retornadas pelo SelectCommand, elas são usadas como colunas de chave primária para o DataTable.If one or more primary key columns are returned by the SelectCommand, they are used as the primary key columns for the DataTable.
Se nenhuma coluna de chave primária for retornada, mas as colunas exclusivas forem, as colunas exclusivas serão usadas como a chave primária se todas as colunas exclusivas forem não anuláveis.If no primary key columns are returned but unique columns are, the unique columns are used as the primary key if all the unique columns are non-nullable. Caso qualquer uma das colunas seja anulável, um UniqueConstraint é adicionado ao ConstraintCollection, mas a propriedade PrimaryKey não é definida.If any of the columns are nullable, a UniqueConstraint is added to the ConstraintCollection, but the PrimaryKey property is not set.
Caso as colunas de chave primária e as colunas exclusivas sejam retornadas, as colunas de chave primária são usadas como as colunas de chave primária para o DataTable.If both primary key columns and unique columns are returned, the primary key columns are used as the primary key columns for the DataTable.
Observe que as chaves primárias e as restrições UNIQUE são adicionadas ao de ConstraintCollection acordo com as regras anteriores, mas outros tipos de restrição não são adicionados.Note that primary keys and unique constraints are added to the ConstraintCollection according to the previous rules, but other constraint types are not added.
Se um índice agrupado exclusivo estiver definido em colunas em uma tabela do SQL Server e a restrição de chave primária estiver definida em um conjunto de colunas separado, os nomes das colunas no índice agrupado serão retornados.If a unique clustered index is defined on a column or columns in a SQL Server table and the primary key constraint is defined on a separate set of columns, then the names of the columns in the clustered index will be returned. Para retornar o nome ou os nomes das colunas de chave primária, use uma dica de consulta com a instrução SELECT que especifica o nome do índice de chave primária.To return the name or names of the primary key columns, use a query hint with the SELECT statement that specifies the name of the primary key index. Para obter mais informações sobre como especificar dicas de consulta, consulte Hints (Transact-SQL)-Query.For more information about how to specify query hints, see Hints (Transact-SQL) - Query.
Se o IDataAdapter encontrar colunas duplicadas ao popular um DataTable , ele gerará nomes para as colunas sucessivas, usando o padrão "ColumnName1", "ColumnName2", "columnname3" e assim por diante.If the IDataAdapter encounters duplicate columns while populating a DataTable, it generates names for the successive columns, using the pattern "columnname1", "columnname2", "columnname3", and so on. Se os dados de entrada contiverem colunas não nomeadas, eles serão colocados no de DataSet acordo com o padrão "Coluna1", "Coluna2" e assim por diante.If the incoming data contains unnamed columns, they are put in the DataSet according to the pattern "Column1", "Column2", and so on. Quando vários conjuntos de resultados são adicionados ao DataSet , cada conjunto de resultados é colocado em uma tabela separada.When multiple result sets are added to the DataSet, each result set is put in a separate table. Os conjuntos de resultados adicionais são nomeados adicionando-se valores integrais ao nome da tabela especificado (por exemplo, "Tabela", "Tabela1", "Tabela2" e assim por diante).Additional result sets are named by appending integral values to the specified table name (for example, "Table", "Table1", "Table2", and so on). Os aplicativos devem ter cuidado ao usar nomes de coluna e tabela para garantir que os conflitos com esses padrões de nomenclatura não ocorram.Applications should use caution when using column and table names to ensure that conflicts with these naming patterns do not occur.
FillSchema Não retorna linhas.FillSchema returns no rows. Use o Fill método para adicionar linhas a um DataTable .Use the Fill method to add rows to a DataTable.