Comment : rechercher les lignes modifiées

Mise à jour : novembre 2007

Lorsque des modifications sont apportées à des enregistrements dans un groupe de données, les informations relatives à ces modifications sont stockées jusqu'à ce que vous les validiez. Elles sont validées en appelant la méthode AcceptChanges d'un groupe de données, d'une table de données ou encore en appelant la méthode Update d'un TableAdapter ou d'un adaptateur de données.

Le suivi des modifications de chaque ligne de données s'effectue de deux manières :

  • Chaque ligne de données contient des informations concernant son RowState (par exemple, Added, Modified, Deleted, Unchanged).

  • Chaque ligne de données modifiée contient plusieurs versions de cette ligne (DataRowVersion) auxquelles vous pouvez accéder : l'original (avant modification) et les versions actuelles (après modification). Pendant l'intervalle où la modification est en attente (la période pendant laquelle vous pouvez répondre à l'événement RowChanging), une troisième version (la version proposée) est également disponible. Pour plus d'informations, consultez Comment : obtenir des versions spécifiques d'un DataRow.

Détermination de l'existence de lignes modifiées

La méthode HasChanges d'un groupe de données retourne la valeur true si des modifications ont été apportées au groupe de données. Après avoir déterminé qu'il existe des lignes modifiées, vous pouvez appeler la méthode GetChanges d'un DataSet ou d'un DataTable pour retourner un jeu de lignes modifiées. Pour plus d'informations, consultez Comment : récupérer des lignes modifiées.

Pour déterminer si des lignes ont été modifiées

  • Appelez la méthode HasChanges d'un groupe de données pour vérifier la présence de lignes modifiées.

    L'exemple suivant montre comment vérifier la valeur de retour de la méthode HasChanges afin de déterminer si le groupe de données appelé NorthwindDataset1 contient des lignes modifiées.

    If NorthwindDataSet1.HasChanges() Then
    
        ' Changed rows were detected, add appropriate code.
    Else
        ' No changed rows were detected, add appropriate code. 
    End If
    
    if (northwindDataSet1.HasChanges()) 
    {
        // Changed rows were detected, add appropriate code.
    }
    else
    {
        // No changed rows were detected, add appropriate code.
    }
    

Détermination du type de modifications

Vous pouvez également vérifier le type de modifications apportées dans un groupe de données en passant une valeur de l'énumération DataRowState à la méthode HasChanges.

Pour déterminer le type de modifications apportées à une ligne

  • Passez une valeur DataRowState à la méthode HasChanges.

    L'exemple suivant montre comment vérifier si des lignes ont été ajoutées au groupe de données appelé NorthwindDataset1 :

    If NorthwindDataSet1.HasChanges(DataRowState.Added) Then
    
        ' New rows have been added to the dataset, add appropriate code.
    Else
        ' No new rows have been added to the dataset, add appropriate code.
    End If
    
    if (northwindDataSet1.HasChanges(DataRowState.Added)) 
    {
        // New rows have been added to the dataset, add appropriate code.
    }
    else
    {
        // No new rows have been added to the dataset, add appropriate code.
    }
    

Voir aussi

Concepts

Nouveautés des données

Vue d'ensemble de l'affichage des données

Autres ressources

Modification des données dans votre application

Procédures pas à pas relatives aux données

Connexion aux données dans Visual Studio

Préparation de votre application pour recevoir des données

Extraction de données dans votre application

Affichage des données sur des formulaires dans les applications Windows

Validation des données

Enregistrement des données