Compartir vía


IDataAdapter.Fill(DataSet) Método

Definición

Agrega o actualiza las filas de DataSet para que coincidan con las del origen de datos con el DataSet nombre y crea un DataTable denominado "Table".

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

dataSet
DataSet

que DataSet se va a rellenar con registros y, si es necesario, esquema.

Devoluciones

Número de filas agregadas o actualizadas correctamente en .DataSet Esto no incluye filas afectadas por instrucciones que no devuelven filas.

Comentarios

Fill recupera filas del origen de datos mediante la instrucción SELECT especificada por una propiedad asociada SelectCommand . El objeto de conexión asociado a la instrucción SELECT debe ser válido, pero no es necesario abrirlo. Si se cierra la conexión antes Fill de llamar a , se abre para recuperar datos y, a continuación, se cierra. Si la conexión está abierta antes Fill de llamar a , permanece abierta.

A Fill continuación, la operación agrega las filas a los objetos de destino DataTable en DataSet, creando los DataTable objetos si aún no existen. Al crear DataTable objetos, la Fill operación normalmente crea solo metadatos de nombre de columna. Sin embargo, si la MissingSchemaAction propiedad está establecida AddWithKeyen , también se crean las restricciones y las claves principales adecuadas.

Si SelectCommand devuelve los resultados de OUTER JOIN, DataAdapter no establece un valor PrimaryKey para el objeto DataTableresultante. Debe definir explícitamente la clave principal para asegurarse de que las filas duplicadas se resuelven correctamente. Para obtener más información, consulte Definición de claves principales.

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.

Cuando la instrucción SELECT que se usa para rellenar los DataSet devuelve varios resultados, como una instrucción SQL por lotes, si uno de los resultados contiene un error, se omiten todos los resultados sucesivos y no se agregan a DataSet.

Puede usar el Fill método varias veces en el mismo DataTable. Si existe una clave principal, las filas entrantes se combinan con filas coincidentes que ya existen. Si no existe ninguna clave principal, las filas entrantes se anexan a .DataTable

Nota:

Al controlar instrucciones SQL por lotes que devuelven varios resultados, la implementación de y FillSchema para un proveedor de Fill datos de .NET Framework recupera información de esquema solo para el primer resultado.

Se aplica a

Consulte también