IDataAdapter.Fill(DataSet) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
Paramètres
Retours
Nombre de lignes ajoutées ou actualisées dans le DataSet. Cela n’inclut pas les lignes affectées par les instructions qui ne retournent pas de lignes.
Remarques
Fill récupère les lignes de la source de données à l’aide de l’instruction SELECT spécifiée par une propriété associée SelectCommand . L’objet de connexion associé à l’instruction SELECT doit être valide, mais il n’a pas besoin d’être ouvert. Si la connexion est fermée avant Fill d’être appelée, elle est ouverte pour récupérer des données, puis fermée. Si la connexion est ouverte avant Fill d’être appelée, elle reste ouverte.
L’opération Fill ajoute ensuite les lignes aux objets de destination DataTable dans le DataSet, créant les DataTable objets s’ils n’existent pas déjà. Lors de la création d’objets DataTable , l’opération Fill crée généralement uniquement des métadonnées de nom de colonne. Toutefois, si la MissingSchemaAction propriété est définie AddWithKeysur , les clés primaires et les contraintes appropriées sont également créées.
Si SelectCommand retourne les résultats d'une jointure externe, le DataAdapter ne définit pas de valeur PrimaryKey pour le DataTableobtenu. Vous devez définir explicitement la clé primaire pour vous assurer que les lignes en double sont résolues correctement. Pour plus d’informations, consultez Définition des clés primaires.
Si les IDataAdapter colonnes dupliquées lors de la remplissage d’un DataTable, elles génèrent des noms pour les colonnes successives, à l’aide du modèle « columnname1 », « columnname2 », « columnname3 », et ainsi de suite. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans le DataSet modèle « Column1 », « Column2 », et ainsi de suite. Lorsque plusieurs jeux de résultats sont ajoutés au DataSetjeu de résultats, chaque jeu de résultats est placé dans une table distincte. D’autres jeux de résultats sont nommés en ajoutant des valeurs intégrales au nom de table spécifié (par exemple, « Table », « Table1 », « Table2 », etc.). Les applications doivent être prudents lors de l’utilisation de noms de colonnes et de tables pour s’assurer que les conflits avec ces modèles d’affectation de noms ne se produisent pas.
Lorsque l’instruction SELECT utilisée pour remplir les DataSet résultats renvoie plusieurs résultats, tels qu’une instruction SQL de lot, si l’un des résultats contient une erreur, tous les résultats successifs sont ignorés et non ajoutés à l’instruction DataSet.
Vous pouvez utiliser la Fill méthode plusieurs fois sur le même DataTable. Si une clé primaire existe, les lignes entrantes sont fusionnées avec des lignes correspondantes qui existent déjà. Si aucune clé primaire n’existe, les lignes entrantes sont ajoutées au DataTable.
Note
Lors de la gestion des instructions SQL batch qui retournent plusieurs résultats, l’implémentation et FillSchema pour un fournisseur de Fill données .NET Framework récupère les informations de schéma uniquement pour le premier résultat.