IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Gestion Erreur sur DataAdapter.Update


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 30
    Points : 20
    Points
    20
    Par défaut Gestion Erreur sur DataAdapter.Update
    Bonjour,

    Je vous expose mon problème. Je veux enregistrer une Datatable qui a des DataRow modifié en base de données.

    Jusque là pas de souci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataAdpater.Update(DataTable)
    Les soucis arrivent ensuite : j'aimerai que si le DataAdapter.Update rencontre un souci, les DataRow de mon DataTable restent identiques au moment de l'entrée dans la DataAdapter.Update.

    exemple : j'ai une datatable avec 2 datarows modifiés à l'intérieur( dont avec DataRowState à Modified).
    Je lance mon update sur mon dataadapter et il se plante sur le traitement du second datarow (violation de contrainte par exemple)

    Et là mon premier DataRow de mon DataTable est passé en type Unchanged et le second reste en Modified avec Erreur.

    Moi, dans ce cas là, j'aimerai que mes deux datarow restent en statut Modified sachant que mon Update en base est inclus dans une transaction.

    Est-ce qu'il faut que je désactive : AcceptChangesDuringUpdate ? Si oui, comment revenir à la situation juste avant modif et pas au moment du chargement de la DataTable (donc pas possible de faire RejectChanges)

    Merci de votre aide

  2. #2
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Après de plus amples essais avec AcceptChangesDuringUpdate et le passant à false, celà fonctionne bien pour des enregistrement modifiés (le RowState reste à modified), mais pas pour des enregistrement ajoutés (le RowState passe de Added à modified).

    Ce qui fait que si je résoud mon problème sur ma ligne erroné et que je retente le DataAdapter.Save, je croute car il essaie de mettre à jour alors qu'il faudrait qu'il insert.

    Merci de votre aide

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    j'aimerai que si le DataAdapter.Update rencontre un souci, les DataRow de mon DataTable restent identiques au moment de l'entrée dans la DataAdapter.Update.
    On devrait pouvoir englober l'update du dataset dans une transaction de façon à l'annuler en cas d'erreur.

Discussions similaires

  1. Erreur sur SQL update
    Par noftal dans le forum SQLite
    Réponses: 1
    Dernier message: 25/09/2013, 01h12
  2. [WD14] Gestion erreur sur class
    Par mail.spam dans le forum WinDev
    Réponses: 4
    Dernier message: 27/04/2010, 10h30
  3. Erreur sur l'update d'une base de données
    Par hunteshiva dans le forum VB.NET
    Réponses: 2
    Dernier message: 30/03/2010, 09h58
  4. erreur sur trigger UPDATE
    Par izakiel dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 29/06/2009, 21h33
  5. Message erreur sur méthode Update dans une gridview
    Par zefog dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 22/02/2008, 12h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo