IDataAdapter.Fill(DataSet) 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.
public:
int Fill(System::Data::DataSet ^ dataSet);
public int Fill(System.Data.DataSet dataSet);
abstract member Fill : System.Data.DataSet -> int
Public Function Fill (dataSet As DataSet) As Integer
Parâmetros
Retornos
O número de linhas adicionadas ou atualizadas com êxito no DataSet. Isso não inclui linhas afetadas por instruções que não retornam linhas.
Comentários
Fill recupera linhas da fonte de dados usando a instrução SELECT especificada por uma propriedade associada SelectCommand . O objeto de conexão associado à instrução SELECT deve ser válido, mas não precisa ser aberto. Se a conexão for fechada antes Fill de ser chamada, ela será aberta para recuperar dados e, em seguida, fechada. Se a conexão estiver aberta antes Fill de ser chamada, ela permanecerá aberta.
Em Fill seguida, a operação adiciona as linhas aos objetos de destino DataTable , DataSetcriando os DataTable objetos se eles ainda não existirem. Ao criar DataTable objetos, a Fill operação geralmente cria apenas metadados de nome de coluna. No entanto, se a MissingSchemaAction propriedade estiver definida como AddWithKey, as chaves primárias e as restrições apropriadas também serão criadas.
Se o SelectCommand retornar os resultados de um OUTER JOIN, o DataAdapter não definirá um valor de PrimaryKey para oDataTable resultante. Você deve definir explicitamente a chave primária para garantir que as linhas duplicadas sejam resolvidas corretamente. Para obter mais informações, consulte Definindo chaves primárias.
Se encontrar IDataAdapter colunas duplicadas ao preencher uma DataTable, ela gerará nomes para as colunas sucessivas, 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 DataSet acordo com o padrão "Column1", "Column2" e assim por diante. Quando vários conjuntos de resultados são adicionados ao DataSetconjunto de resultados, 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 devem ter cuidado ao usar nomes de coluna e tabela para garantir que não ocorram conflitos com esses padrões de nomenclatura.
Quando a instrução SELECT usada para preencher os DataSet resultados retorna vários resultados, como uma instrução SQL em lote, se um dos resultados contiver um erro, todos os resultados sucessivos serão ignorados e não adicionados DataSetao .
Você pode usar o Fill método várias vezes no mesmo DataTable. Se existir uma chave primária, as linhas de entrada serão mescladas com linhas correspondentes que já existem. Se nenhuma chave primária existir, as linhas de entrada serão acrescentadas ao DataTable.
Observação
Ao manipular instruções SQL em lote que retornam vários resultados, a implementação de e FillSchema para um provedor de Fill dados do .NET Framework recupera informações de esquema apenas para o primeiro resultado.