IDataAdapter.Fill(DataSet) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 AddWithKey
en , 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.