IDataAdapter.Fill(DataSet) IDataAdapter.Fill(DataSet) IDataAdapter.Fill(DataSet) Method

Définition

Ajoute ou met à jour les lignes de DataSet pour correspondre à celles de la source de données à l'aide du nom DataSet et crée un DataTable appelé "Table".Adds or updates rows in the DataSet to match those in the data source using the DataSet name, and creates a DataTable named "Table".

public:
 int Fill(System::Data::DataSet ^ dataSet);
public int Fill (System.Data.DataSet dataSet);
abstract member Fill : System.Data.DataSet -> int

Paramètres

dataSet
DataSet DataSet DataSet

DataSet à remplir avec des enregistrements et, éventuellement, un schéma.A DataSet to fill with records and, if necessary, schema.

Retours

Nombre de lignes correctement ajoutées ou actualisées dans DataSet.The number of rows successfully added to or refreshed in the DataSet. Cela n'inclut pas les lignes affectées par des instructions qui ne retournent pas de ligne.This does not include rows affected by statements that do not return rows.

Remarques

FillRécupère des lignes de la source de données à l’aide de l’instruction SELECT SelectCommand spécifiée par une propriété associée.Fill retrieves rows from the data source using the SELECT statement specified by an associated SelectCommand property. L’objet de connexion associé à l’instruction SELECT doit être valide, mais il n’est pas nécessaire qu’il soit ouvert.The connection object associated with the SELECT statement must be valid, but it does not need to be open. Si la connexion est fermée avant Fill l’appel de, elle est ouverte pour récupérer les données, puis fermée.If the connection is closed before Fill is called, it is opened to retrieve data, then closed. Si la connexion est ouverte avant Fill que ne soit appelée, elle reste ouverte.If the connection is open before Fill is called, it remains open.

L' Fill opération ajoute ensuite les lignes aux objets DataTable de destination dans DataSetle, en DataTable créant les objets s’ils n’existent pas déjà.The Fill operation then adds the rows to destination DataTable objects in the DataSet, creating the DataTable objects if they do not already exist. Lors de DataTable la création d' Fill objets, l’opération crée généralement uniquement des métadonnées de nom de colonne.When creating DataTable objects, the Fill operation usually creates only column name metadata. Toutefois, si la MissingSchemaAction propriété a la AddWithKeyvaleur, les clés primaires et les contraintes appropriées sont également créées.However, if the MissingSchemaAction property is set to AddWithKey, appropriate primary keys and constraints are also created.

Si SelectCommand retourne les résultats d'une jointure externe, le DataAdapter ne définit pas de valeur PrimaryKey pour le DataTableobtenu.If the SelectCommand returns the results of an OUTER JOIN, the DataAdapter does not set a PrimaryKey value for the resulting DataTable. Vous devez définir explicitement la clé primaire pour vous assurer que les lignes dupliquées sont correctement résolues.You must explicitly define the primary key to ensure that duplicate rows are resolved correctly. Pour plus d’informations, consultez définition des clés primaires.For more information, see Defining Primary Keys.

Si le IDataAdapter rencontre des colonnes dupliquées lors du remplissage DataTabled’un, il génère des noms pour les colonnes successives, en utilisant le modèle «nomcolonne1», «nomcolonne2», «columnname3», et ainsi de suite.If the IDataAdapter encounters duplicate columns while populating a DataTable, it generates names for the successive columns, using the pattern "columnname1", "columnname2", "columnname3", and so on. Si les données entrantes contiennent des colonnes sans nom, elles sont placées DataSet dans en fonction du modèle «Column1», «Column2», et ainsi de suite.If the incoming data contains unnamed columns, they are put in the DataSet according to the pattern "Column1", "Column2", and so on. Lorsque plusieurs jeux de résultats sont ajoutés au DataSet, chaque jeu de résultats est placé dans une table distincte.When multiple result sets are added to the DataSet, each result set is put in a separate table. Les jeux de résultats supplémentaires sont nommés en ajoutant des valeurs intégrales au nom de table spécifié (par exemple, «table», «Table1», «Table2», etc.).Additional result sets are named by appending integral values to the specified table name (for example, "Table", "Table1", "Table2", and so on). Les applications doivent utiliser avec précaution lors de l’utilisation de noms de colonnes et de tables pour s’assurer que les conflits avec ces modèles de nom ne se produisent pas.Applications should use caution when using column and table names to ensure that conflicts with these naming patterns do not occur.

Lorsque l’instruction SELECT utilisée pour remplir le DataSet retourne plusieurs résultats, par exemple une instruction SQL par lot, si l’un des résultats contient une erreur, tous les résultats successifs sont ignorés et ne sont pas ajoutés DataSetau.When the SELECT statement that is used to populate the DataSet returns multiple results, such as a batch SQL statement, if one of the results contains an error, all successive results are skipped and not added to the DataSet.

Vous pouvez utiliser la Fill méthode plusieurs fois sur le même DataTable.You can use the Fill method multiple times on the same DataTable. Si une clé primaire existe, les lignes entrantes sont fusionnées avec les lignes correspondantes qui existent déjà.If a primary key exists, incoming rows are merged with matching rows that already exist. Si aucune clé primaire n’existe, les DataTablelignes entrantes sont ajoutées au.If no primary key exists, incoming rows are appended to the DataTable.

Notes

Lors du traitement d’instructions SQL par lots qui retournent plusieurs Fill résultats FillSchema , l’implémentation de et pour un fournisseur de données .NET Framework récupère les informations de schéma uniquement pour le premier résultat.When handling batch SQL statements that return multiple results, the implementation of Fill and FillSchema for a .NET Framework data provider retrieves schema information for only the first result.

S’applique à

Voir aussi