Partager via


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

Validation des données

Enregistrement des données

Autres ressources

Connexion aux données dans Visual Studio