Compartir a través de


IDataAdapter.Fill(DataSet) Método

Definición

Agrega filas a la clase DataSet o las actualiza para hacerlas coincidir con las del origen de datos mediante el nombre de DataSet y crea un objeto 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

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

Devoluciones

Número de filas agregadas o actualizadas correctamente en la clase DataSet. No se incluyen las 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 se establece 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 más información, consulte Definir claves principales.

Si encuentra IDataAdapter columnas duplicadas al rellenar , DataTablegenera 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 el DataSet 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 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 Fill y FillSchema para un proveedor de datos de .NET Framework recupera información de esquema solo para el primer resultado.

Se aplica a

Consulte también