Comment : récupérer des lignes modifiées
Chaque ligne d'une table de données possède une propriété RowState qui assure le suivi de l'état actuel de cette ligne à l'aide des valeurs spécifiées dans l'énumération DataRowState.Vous pouvez retourner des lignes modifiées d'un groupe de données ou d'une table de données en appelant la méthode GetChanges d'un DataSet ou d'un DataTable.Vous pouvez vérifier qu'il existe des modifications avant d'appeler GetChanges en appelant la méthode HasChanges d'un groupe de données.Pour plus d'informations sur HasChanges, consultez Comment : rechercher les lignes modifiées.
[!REMARQUE]
Lorsque vous avez validé les modifications apportées à un groupe de données ou à une table de données (en appelant la méthode AcceptChanges ), la méthode GetChanges ne retourne aucune donnée.Si votre application doit traiter des lignes modifiées, vous devez auparavant appeler la méthode AcceptChanges.
L'appel à la méthode GetChanges d'un groupe de données ou d'une table de données retourne un nouveau groupe de données ou une nouvelle table de données contenant uniquement les enregistrements modifiés.Si vous ne souhaitez obtenir que des enregistrements particuliers (par exemple, les nouveaux enregistrements ou les enregistrements modifiés), vous pouvez passer comme paramètre à la méthode GetChanges une valeur définie en utilisant l'énumération DataRowState.
Utilisez l'énumération DataRowVersion pour accéder aux différentes versions d'une ligne (par exemple, vous pouvez examiner les valeurs d'origine d'une ligne avant de la traiter).
Pour obtenir tous les enregistrements modifiés d'un groupe de données
Appelez la méthode GetChanges d'un groupe de données.
L'exemple suivant crée un groupe de données appelé changedRecords et le remplit avec tous les enregistrements modifiés d'un autre groupe de données appelé dataSet1.
Dim changedRecords As DataSet = DataSet1.GetChanges()
DataSet changedRecords = dataSet1.GetChanges();
Pour obtenir tous les enregistrements modifiés d'une table de données
Appelez la méthode GetChanges d'un DataTable.
L'exemple suivant crée une nouvelle table de données appelée changedRecordsTable et la remplit avec tous les enregistrements modifiés d'une autre table de données appelée dataTable1.
Dim changedRecordsTable As DataTable = dataTable1.GetChanges()
DataTable changedRecordsTable = dataTable1.GetChanges();
Pour obtenir tous les enregistrements qui possèdent un état de ligne spécifique
Appelez la méthode GetChanges d'un groupe de données ou d'une table de données et passez une valeur d'énumération DataRowState comme argument.
L'exemple suivant montre comment créer un groupe de données appelé addedRecords et comment le remplir uniquement avec les enregistrements ajoutés au groupe de données dataSet1.
Dim addedRecords As DataSet = DataSet1.GetChanges(DataRowState.Added)
DataSet addedRecords = dataSet1.GetChanges(DataRowState.Added);
L'exemple suivant montre comment retourner tous les enregistrements récemment ajoutés à la table Customers:
Private Function GetNewRecords() As NorthwindDataSet.CustomersDataTable Return CType(NorthwindDataSet1.Customers.GetChanges(Data.DataRowState.Added), NorthwindDataSet.CustomersDataTable) End Function
private NorthwindDataSet.CustomersDataTable GetNewRecords() { return (NorthwindDataSet.CustomersDataTable) northwindDataSet1.Customers.GetChanges(DataRowState.Added); }
Voir aussi
Tâches
Comment : rechercher les lignes modifiées
Comment : obtenir des versions spécifiques d'un DataRow
Concepts
Liaison de contrôles Windows Forms à des données dans Visual Studio
Préparation de votre application pour recevoir des données
Extraction de données dans votre application
Liaison de contrôles à des données dans Visual Studio
Modification des données dans votre application