DataAdapter.FillSchema Método

Definição

Adiciona a DataTable ao especificado DataSet.

Sobrecargas

Name Description
FillSchema(DataSet, SchemaType, String, IDataReader)

Adiciona a DataTable ao especificado DataSet.

FillSchema(DataSet, SchemaType)

Adiciona a DataTable ao especificado DataSet e configura o esquema para corresponder ao da fonte de dados com base no especificado SchemaType.

FillSchema(DataTable, SchemaType, IDataReader)

Adiciona a DataTable ao especificado DataSet.

FillSchema(DataSet, SchemaType, String, IDataReader)

Adiciona a DataTable ao especificado DataSet.

protected:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
Protected Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType, srcTable As String, dataReader As IDataReader) As DataTable()

Parâmetros

dataSet
DataSet

O DataTable para ser preenchido a partir do IDataReader.

schemaType
SchemaType

Um dos SchemaType valores.

srcTable
String

O nome da tabela fonte a usar para mapeamento de tabelas.

dataReader
IDataReader

A IDataReader ser usado como fonte de dados ao preencher o DataTable.

Devoluções

Uma referência a uma coleção de DataTable objetos que foram adicionados ao DataSet.

Ver também

Aplica-se a

FillSchema(DataSet, SchemaType)

Adiciona a DataTable ao especificado DataSet e configura o esquema para corresponder ao da fonte de dados com base no especificado SchemaType.

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

Parâmetros

dataSet
DataSet

O DataSet que deve ser preenchido com o esquema da fonte de dados.

schemaType
SchemaType

Um dos SchemaType valores.

Devoluções

Um DataTable objeto que contém informação de esquema devolvida da fonte de dados.

Implementações

Observações

O FillSchema método recupera o esquema da fonte de dados usando o SelectCommand. O objeto de ligação associado ao SelectCommand deve ser válido, mas não precisa de ser aberto. Se a ligação for fechada antes FillSchema de ser chamada, é aberta para recuperar dados e depois fechada. Se a ligação estiver aberta antes FillSchema de ser chamada, permanece aberta.

Uma FillSchema operação adiciona a DataTable ao destino DataSet. Depois, adiciona colunas ao DataColumnCollection de DataTable, e configura as seguintes DataColumn propriedades se existirem na fonte de dados:

FillSchema também configura as PrimaryKey propriedades e Constraints de acordo com as seguintes regras:

  • Se uma ou mais colunas de chave primárias forem devolvidas pelo SelectCommand, elas são usadas como colunas de chave primárias para o DataTable.

  • Se não forem devolvidas colunas de chave primárias mas colunas únicas forem, as colunas únicas são usadas como chave primária se, e só se, todas as colunas únicas forem não anuláveis. Se alguma das colunas for anulável, a UniqueConstraint é adicionado ao ConstraintCollection, mas a PrimaryKey propriedade não é definida.

  • Se forem retornadas tanto as colunas chave primárias como as colunas únicas, as colunas principais primárias são usadas como as colunas principais primárias para o DataTable.

Note

O armazenamento de dados subjacente pode permitir atributos de coluna que não são suportados num DataColumn, o que faz com que alguns atributos de coluna não sejam traduzidos corretamente. Por exemplo, SQL Server permite uma coluna identidade com um tipo de dado tinyint, enquanto um DataColumn só permite que Int16, Int32 e Int64 tenham o conjunto de propriedades AutoIncrement. FillSchema ignora silenciosamente os casos em que não DataColumn consegue espelhar com precisão a fonte de dados e não faz exceção.

Note-se que as chaves primárias e as restrições únicas são adicionadas ao ConstraintCollection de acordo com as regras anteriores, mas outros tipos de restrições não são adicionados.

Se um único índice clusterizado for definido numa coluna ou colunas numa tabela SQL Server e a restrição principal da chave for definida num conjunto separado de colunas, então os nomes das colunas no índice clusterizado serão devolvidos. Para devolver o nome ou 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. Para mais informações sobre especificação de dicas de consulta, veja Dicas (Transact-SQL) - Consulta.

Se encontrar DataAdapter colunas duplicadas ao preencher um DataTable, gera nomes para as colunas seguintes, usando o padrão "nome da coluna1", "nome da coluna2", "nome da coluna3", e assim sucessivamente. Se os dados recebidos contêm colunas sem nome, são colocadas segundo DataSet o padrão "Coluna 1", "Coluna 2", e assim sucessivamente. Quando vários conjuntos de resultados são adicionados, DataSet cada conjunto de resultados é colocado numa tabela separada. Conjuntos de resultados adicionais são nomeados adicionando valores integrais ao nome da tabela especificado (por exemplo, "Table", "Table1", "Table2", entre outros). Aplicações que utilizam nomes de colunas e tabelas devem garantir que não ocorrem conflitos com estes padrões de nomenclatura.

FillSchema não devolve nenhuma linha. Use o Fill método para adicionar linhas a um DataTable.

Note

Ao lidar com instruções SQL em lote que retornam múltiplos resultados, a implementação de FillSchema para o .NET Framework Data Provider para OLE DB recupera informação de esquema apenas para o primeiro resultado. Para obter informação de esquema para múltiplos resultados, use Fill com o MissingSchemaAction conjunto para AddWithKey.

Ver também

Aplica-se a

FillSchema(DataTable, SchemaType, IDataReader)

Adiciona a DataTable ao especificado DataSet.

protected:
 virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable FillSchema(System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
Protected Overridable Function FillSchema (dataTable As DataTable, schemaType As SchemaType, dataReader As IDataReader) As DataTable

Parâmetros

dataTable
DataTable

O DataTable para ser preenchido a partir do IDataReader.

schemaType
SchemaType

Um dos SchemaType valores.

dataReader
IDataReader

A IDataReader ser usado como fonte de dados ao preencher o DataTable.

Devoluções

Um DataTable objeto que contém informação de esquema devolvida da fonte de dados.

Ver também

Aplica-se a