Remplissage d’un jeu de données de fournisseur managé à partir d’un adaptateur de données
Le jeu de données est une représentation résidente en mémoire de données qui fournit un modèle de programmation relationnel cohérent indépendamment de la source de données. Le jeu de données représente un ensemble complet de données, y compris les tables, les contraintes et les relations entre les tables. Étant donné que le jeu de données est indépendant de la source de données, un jeu de données peut inclure des données locales pour l’application, ainsi que des données provenant de plusieurs sources de données. L’interaction avec des sources de données existantes est contrôlée par le biais d’un MsDb2DataAdapter
objet .
est Microsoft.HostIntegration.MsDb2Client.MsDb2DataAdapter.SelectCommand%2A?displayProperty=fullName
un Command
objet qui récupère des données de la source de données. Les InsertCommand
propriétés , UpdateCommand
et DeleteCommand
de sont également Command
des Microsoft.HostIntegration.MsDb2Client.MsDb2DataAdapter
objets qui gèrent les mises à jour des données dans la source de données en fonction des modifications apportées aux données dans le jeu de données.
Fill, méthode
La MsDb2DataAdapter.Fill
méthode est utilisée pour remplir un jeu de données avec les résultats de Microsoft.HostIntegration.MsDb2Client.MsDb2DataAdapter.SelectCommand%2A?displayProperty=fullName
. Fill
prend comme arguments un DataSet
objet à remplir et un DataTable
objet, ou le nom de l’objet DataTable
à remplir avec les lignes retournées par SelectCommand
.
La Fill
méthode utilise Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader
implicitement pour renvoyer les noms et les types de colonnes utilisés pour créer les tables dans le jeu de données, ainsi que les données pour remplir les lignes des tables dans le jeu de données. Les tables et les colonnes sont créées uniquement si elles n’existent pas déjà ; dans le cas contraire Fill
, utilise le schéma de jeu de données existant. Les types de colonnes sont créés en tant que types .NET Framework. Les clés primaires ne sont pas créées, sauf si elles se trouvent dans la source de données et DataAdapter.MissingSchemaAction
que la valeur est définie sur MissingSchemaAction.AddWithKey
. Si Fill
détecte l’existence d’une clé primaire pour une table, il remplace les données du DataSet
par les données de la source de données pour les lignes où les valeurs de colonne de clé primaire correspondent à celles de la ligne retournée par la source de données. Si aucune clé primaire n’est trouvée, les données sont ajoutées aux tables dans utilise DataSet. Fill
tous les mappages qui peuvent exister lors du remplissage de l’objet DataSet
.
Notes
Si SelectCommand
retourne les résultats d’une JOINTURE EXTERNE, le MsDb2DataAdapter
ne définit pas de valeur PrimaryKey pour le résultat.DataTable
Vous devez définir la clé primaire vous-même pour vous assurer que les lignes en double sont correctement résolues
Jeux de résultats multiples
Si Microsoft.HostIntegration.MsDb2Client.MsDb2DataAdapter
rencontre plusieurs jeux de résultats, il crée plusieurs tables dans le jeu de données. Les tables reçoivent un nom incrémentiel par défaut de TableN, commençant par « Table » pour Table0. Si un nom de table est passé en tant qu’argument à la Fill
méthode, les tables reçoivent un nom incrémentiel par défaut TableNameN, en commençant par « TableName » pour TableName0.
Un nombre quelconque d’objets Microsoft.HostIntegration.MsDb2Client.MsDb2DataAdapter
peut être utilisé avec un jeu de données. Chaque Microsoft.HostIntegration.MsDb2Client.MsDb2DataAdapter
peut être utilisé pour remplir un ou plusieurs objets DataTable
et répercuter les mises à jour dans la source de données concernée. Vous pouvez ajouter DataRelation
des objets et Constraint
au jeu de données localement, ce qui vous permet de lier des données provenant de sources de données différentes.
Voir aussi
Utilisation de DataAdapter et de DataSet pour une base de données DB2
Utilisation du fournisseur managé pour DB2