2010-11-09 17 views
3

Dire que j'ai un ensemble de données, et je modifier une valeur dans un datarow, mais la valeur est identique à l'ancienne valeur:La mise à jour d'un ensemble de données avec la même valeur entraîne-t-elle une mise à jour sous-jacente?

dataRow["someField"] = 2; // but it already had value 2! 

Est-ce que cette cause une déclaration de mise à jour à exécuter sur la base de données, ou est-elle reconnaître que rien n'a réellement changé et effectuer aucune mise à jour?

Répondre

3

Jetez un coup d'œil à la propriété DataRow.RowState.

Si la ligne était précédemment inchangée, la définition de la valeur changera RowState à Modified.

Vous devrez vérifier manuellement l'égalité avant de définir les valeurs de ligne.

1

Cela provoquera une mise à jour.

+0

+1 Pour minimiser les mises à jour inutiles par rapport à la base de données, vérifiez la valeur existante avant de la définir – AdaTheDev