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

ASP.NET Discussion :

[c# 2.0] Mise à jour d'une table via DataSet


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut [c# 2.0] Mise à jour d'une table via DataSet
    Bonjour,

    je souhaite mettre à jour une table de ma BDD via la méthode update d'un OracleDataAdapter. Mais en vain...

    J'ai créer un DataSet dans lequel j'ai ajouté une DataTable correspondant à ma table de ma BDD (fichier xsd).

    Je créé dans mon code une nouvelle instance de mon DataSet, puis j'ajoute une nouvelle ligne à ma DataTable.

    Je fais appelle à la méthode MonDataSet.AcceptChanges(), puis je vérifie si il y a eu des changements avec la méthode HasChange(): mais cette méthode me renvoie false! Donc je pense qu'à partir de là c'est normal que mon Update ne fonctionne pas, d'ailleur il me renvoie 0 ligne mise à jour.

    Auriez vous une idée pourquoi la ligne que je rajoute n'est pas considérée comme une modification, pourtant après l'ajout si je visualise via le debugger mon dataset je trouve bien la ligne ajoutée.

    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    c'est un insert que tu fais. regarde plutot de ce coté là non?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut
    Effectivement c'est un insert. Mais je crois savoir qu'il faut appeler la méthode Update (qui est la cousine de la méthode Fill qui elle remplit le dataset) qui met à jour la BDD que ce soit avec un delete insert ou update selon comment la dataset a été modifié.

    Mais déjà pour commencer, le fait d'ajouter une ligne, la méthode HasChange() devrait me renvoyer true. Non?

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    En fait si je me souvient bien quand tu ajoute une ligne sont état est "juste ajouté" par exemple et la méthode update te permet de sauvegarder tous se qui vient juste d'être fait donc ton raisonnement est bon. Le problème vien du AcceptChanges() car sa dit à ton dataSet de mettre toute le lignes "juste ajouté" à "ajouté depuis longtemps" donc la méthode update ne marche plus. Il me semble que c'est ce problème là que j'avait eu mais je vérifierai.

  5. #5
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 346
    Points : 252
    Points
    252
    Par défaut
    Bonjour,

    oui je confirme. Il ne faut pas appeler la méthode AcceptChanges avant l'update mais après et juste si l'enregistrement s'est bien passé. Pour plus d'explications va voir ce lien très interessant:

    Comment : mettre à jour les enregistrements dans une base de données

    Si tu as d'autres questions, n'hésite pas.

    Bye

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Mise à jour d'une table via VBA
    Par Korleone dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/03/2014, 10h39
  2. [AC-2007] Mise à jour d'une table via Excel erreur 3078
    Par thomas17180 dans le forum VBA Access
    Réponses: 1
    Dernier message: 23/11/2012, 10h31
  3. mise à jour d'une table via un portail web
    Par jeanbernard.weck dans le forum SQL
    Réponses: 0
    Dernier message: 31/03/2010, 14h59
  4. Mise à Jour d'une table via un Update (select)
    Par Arola78 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 23/09/2006, 14h59
  5. Mise à Jour d'une table via un formulaire
    Par Arola78 dans le forum IHM
    Réponses: 5
    Dernier message: 05/09/2006, 10h48

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