DataAdapter.FillSchema Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| FillSchema(DataSet, SchemaType, String, IDataReader) | |
| FillSchema(DataSet, SchemaType) |
Adiciona um DataTable ao especificado DataSet e configura o esquema para corresponder ao da fonte de dados com base no especificado SchemaType. |
| FillSchema(DataTable, SchemaType, IDataReader) |
FillSchema(DataSet, SchemaType, String, IDataReader)
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
protected:
virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
protected virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType, 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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
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[]
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 a ser preenchido do IDataReader.
- schemaType
- SchemaType
Um dos SchemaType valores.
- srcTable
- String
O nome da tabela de origem a ser usada para mapeamento de tabela.
- dataReader
- IDataReader
O IDataReader a ser usado como a fonte de dados ao preencher o DataTable.
Retornos
Uma referência a uma coleção de DataTable objetos que foram adicionados ao DataSet.
- Atributos
Confira também
Aplica-se a
FillSchema(DataSet, SchemaType)
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
Adiciona um DataTable ao especificado DataSet e configura o esquema para corresponder ao da fonte de dados com base no especificado SchemaType.
public:
virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public:
abstract 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 virtual 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);
public abstract 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[]
override this.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[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Public MustOverride Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Parâmetros
- schemaType
- SchemaType
Um dos SchemaType valores.
Retornos
Um DataTable objeto que contém informações de esquema retornadas da fonte de dados.
Implementações
- Atributos
Comentários
O FillSchema método recupera o esquema da fonte de dados usando o SelectCommand. O objeto de conexão associado SelectCommand ao deve ser válido, mas não precisa ser aberto. Se a conexão for fechada antes FillSchema de ser chamada, ela será aberta para recuperar dados e, em seguida, fechada. Se a conexão estiver aberta antes FillSchema de ser chamada, ela permanecerá aberta.
Uma FillSchema operação adiciona um DataTable ao destino DataSet. Em seguida, ele adiciona colunas ao DataColumnCollection do DataTablee configura as seguintes DataColumn propriedades se elas existirem na fonte de dados:
AutoIncrement. Você deve definir AutoIncrementStep e AutoIncrementSeed separadamente.
FillSchematambém configura as propriedades e Constraints de PrimaryKey acordo com as seguintes regras:
Se uma ou mais colunas de chave primária forem retornadas pelo SelectCommand, elas serão usadas como colunas de chave primária para .DataTable
Se nenhuma coluna de chave primária for retornada, mas colunas exclusivas forem, as colunas exclusivas serão usadas como a chave primária se, e somente se, todas as colunas exclusivas não forem anuláveis. Se qualquer uma das colunas for anulável, uma UniqueConstraint será adicionada ao ConstraintCollection, mas a PrimaryKey propriedade não será definida.
Se as colunas de chave primária e as colunas exclusivas forem retornadas, as colunas de chave primária serão usadas como colunas de chave primária para .DataTable
Observação
O armazenamento de dados subjacente pode permitir atributos de coluna que não têm suporte em um DataColumn, o que faz com que alguns atributos de coluna não sejam convertidos corretamente. Por exemplo, o SQL Server permite que uma coluna de identidade com um tipo de dados de tinyint, enquanto um DataColumn somente permite que Int16, Int32 e Int64 tenham a AutoIncrement propriedade definida.
FillSchema ignora silenciosamente casos em que não DataColumn é possível espelhar com precisão a fonte de dados e não gera nenhuma exceção.
Observe que as chaves primárias e restrições exclusivas são adicionadas às ConstraintCollection regras anteriores, mas outros tipos de restrição não são adicionados.
Se um índice clusterizado exclusivo for definido em uma coluna ou colunas em uma tabela do SQL Server e a restrição de chave primária for definida em um conjunto separado de colunas, os nomes das colunas no índice clusterizado serão retornados. 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. Para obter mais informações sobre como especificar dicas de consulta, consulte Dicas (Transact-SQL) – Consulta.
Se encontrar DataAdapter colunas duplicadas ao preencher uma DataTable, ela gerará nomes para as colunas subsequentes, usando o padrão "columnname1", "columnname2", "columnname3" e assim por diante. Se os dados de entrada contiverem colunas sem nome, eles serão colocados de acordo com o DataSet padrão "Column1", "Column2" e assim por diante. Quando vários conjuntos de resultados são adicionados a DataSet cada conjunto de resultados é colocado em uma tabela separada. Conjuntos de resultados adicionais são nomeados acrescentando valores integrais ao nome da tabela especificado (por exemplo, "Tabela", "Tabela1", "Tabela2" e assim por diante). Os aplicativos que usam nomes de coluna e tabela devem garantir que conflitos com esses padrões de nomenclatura não ocorram.
FillSchema não retorna nenhuma linha. Use o Fill método para adicionar linhas a um DataTable.
Observação
Ao manipular instruções SQL em lote que retornam vários resultados, a implementação do provedor de FillSchema dados do .NET Framework para OLE DB recupera informações de esquema apenas para o primeiro resultado. Para recuperar informações de esquema para vários resultados, use Fill com o MissingSchemaAction conjunto como AddWithKey.
Confira também
Aplica-se a
FillSchema(DataTable, SchemaType, IDataReader)
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
- Origem:
- DataAdapter.cs
protected:
virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
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);
protected virtual System.Data.DataTable FillSchema(System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
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
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 a ser preenchido do IDataReader.
- schemaType
- SchemaType
Um dos SchemaType valores.
- dataReader
- IDataReader
O IDataReader a ser usado como a fonte de dados ao preencher o DataTable.
Retornos
Um DataTable objeto que contém informações de esquema retornadas da fonte de dados.
- Atributos