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 :

Copier un datarow dans un autre


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 52
    Par défaut Copier un datarow dans un autre
    Bonjour,

    J'ai un DataSet vide (ds) et un DataSet plein (ds_tmp) que je parcours.
    Pour chaque DataRow de ds_tmp je fais un test et si le test est positif j'ajoute le DataRow a ds. Les deux DataSet ont la même structure.

    Pour ajouter les DataRow a ds j'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DataRow dr_tmp1 = ds.Tables[0].NewRow();
              DataRow dr_tmp2 = ds.Tables[0].DefaultView.ToTable().NewRow();
     
              dr.ItemArray.CopyTo(dr_tmp1.ItemArray, 0);
              dr.ItemArray.CopyTo(dr_tmp2.ItemArray, 0);
     
              ds.Tables[0].Rows.Add(dr_tmp1);
              ds.Tables[0].DefaultView.ToTable().Rows.Add(dr_tmp2);
     
              ds.Tables[0].AcceptChanges();
              ds.Tables[0].DefaultView.ToTable().AcceptChanges();
    Le problème est que quand je l’exécute j'ai l'erreur
    This row already belongs to another table.
    Cette erreur fait référence a la première ligne de code utilisant la méthode add.

    Quelqu'un saurait-il comment résoudre mon problème ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DataRow tmpRow = ds_tmp.Tables[0].Rows[0];
    ds.Tables[0].ImportRow(tmpRow);
    (soit dit en passant, les tables ont des noms dans un DataSet, c'est quand même plus pratique que des numéros... donc tu peux faire ds.Tables["NomDeLaTable"] au lieu de ds.Tables[0])

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 52
    Par défaut
    Merci pour la réponse. Ca fonctionne maintenant.

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

Discussions similaires

  1. Copier un formulaire dans une autre base
    Par Bercud dans le forum IHM
    Réponses: 2
    Dernier message: 08/06/2006, 12h15
  2. [C#]Copier un treeview dans un autre
    Par fafa139 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/04/2006, 02h35
  3. copier une table dans une autre
    Par Dionisos dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/07/2005, 11h24
  4. Copier une texture dans une autre?
    Par supergrey dans le forum DirectX
    Réponses: 9
    Dernier message: 28/07/2004, 11h12
  5. copier une ligne dans une autre table
    Par BoeufBrocoli dans le forum SQL
    Réponses: 5
    Dernier message: 24/10/2003, 22h59

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