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 :

DataAdapter et UpdateCommand


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 30
    Par défaut DataAdapter et UpdateCommand
    Bonjour,

    Je me pose une question concernant la définition de l'UpdateCommand sur un DataAdapter pour que la mise à jour en base ne concerne que les champs modifiés et non tous les champs de ma table (ce qui est bien fait si le UpdateCommand est généré par le DbCommandBuilder)

    Exemple : j'ai une table contenant 5 colonnes dont une colonne clé. Je modifie uniquement la colonne 2.

    Si je définis l'UpdateCommand par un CommandBuilder, la requête lancé est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE TABLE SET COLONNE_2=@COLONNE_2 WHERE CLE1=@CLE1
    Elle ne modifie bien que la colonne 2.

    Si je définis l'UpdateCommand directement à la main, la requête lancé est alors la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE TABLE SET COLONNE_1=@COLONNE_1,COLONNE_2=@COLONNE_2,COLONNE_3=@COLONNE_3,COLONNE_4=@COLONNE_4 WHERE CLE1=@CLE1
    Toutes mes colonnes sont réécrites dans la base, et je perds donc en performance sur des grosses tables.

    J'espère que je me bien suis fait comprendre et que l'un d'entre vous pourra m'aider.

    Merci d'avance.

  2. #2
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 30
    Par défaut
    Vu le peu de réponses, j'aimerai savoir pour vous quel est le meilleur moyen de définir l'UpdateCommand d'un DataAdapter, sachant que le CommandBuilder ne saura pas les générer si la requête défini dans le SelectCommand contient des jointures.

    Merci de vos réponses

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 51
    Par défaut
    Bonjour,

    Pour ce genre de cas, j'utilise ADO.net, je ne sais pas si d'autres personnes en font de même. Je pense que ça dépend surtout du contexte. Pour une requête update, tu as la faq ici qui t'explique exactement comment faire :

    http://dotnet.developpez.com/faq/csh...t_execnonquery

    Voilà

Discussions similaires

  1. [C#][VB.Net]Récupérer la liste des dataadapter d'une form
    Par Sonny dans le forum Windows Forms
    Réponses: 12
    Dernier message: 11/01/2006, 20h13
  2. [c#] [dataadapter] effacer des ranger dans une base de donne
    Par mahboub dans le forum Accès aux données
    Réponses: 4
    Dernier message: 02/12/2005, 01h26
  3. [C#] Problème avec UpdateCommand
    Par fabrice1596 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/12/2004, 17h15
  4. [VB.NET] [ADO.NET] DataAdapter et concaténation
    Par master56 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 04/06/2004, 13h25
  5. [VB.Net] DataAdapter, Affichage si non null ???
    Par Sophy dans le forum ASP.NET
    Réponses: 12
    Dernier message: 20/02/2004, 18h03

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