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

Accès aux données Discussion :

[2.0] ADO.NET : DataTable : méthode Copy : régression ?


Sujet :

Accès aux données

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Par défaut [2.0] ADO.NET : DataTable : méthode Copy : régression ?
    Bonjour,

    J'essaie de migrer une application .NET 1.1 vers .NET 2.0 et j'ai été surpris par une Exception de type EvaluateException qui a été déclenchée lors d'une copie d'un DataTable un peu particulier certes...

    Je m'explique :

    J'ai un DataSet ds qui contient un DataTable nommé "matable". Je crée un DataRelation (relation parent/enfant) avec deux DataColumn d'un même DataTable. J'ajoute à la collection Relation de mon DataSet, le DataRelation ainsi créé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DataRelation relation;
    DataColumn parent = ds.Tables["matable"].Columns["code"];
    DataColumn enfant = ds.Tables["matable"].Columns["codeParent"];
    relation = new DataRelation("maRelation", parent, enfant);
    ds.Relations.Add(relation);
    J'ajoute une colonne à mon DataTable en effectuant une moyenne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DataColumn col = new DataColumn("nvcol", Type.GetType("System.Decimal"), "Avg(child(maRelation).code)");
    ds.Tables["matable"].Columns.Add(col);
    Jusqu'ici tout ce passe bien en 1.1 et en 2.0.

    Par contre si je crée un nouvau DataTable à partir du DataTable précédent en utilisant la méthode Copy, une EvaluateException est lancée en 2.0 alors qu'en 1.1 çà fonctionne !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DataTable tmp = ds.Table["matable"].Copy();
    Si quelqu'un a déjà été confronté à un problème similaire...

    Merci de votre aide.
    Images attachées Images attachées  

Discussions similaires

  1. [ADO.NET] Dataset et DataTable
    Par gibea00 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 15/12/2006, 04h49
  2. [ADO.NET][C#] Comment copier une DataRow d'une DataTable à une autre ?
    Par Invité dans le forum Accès aux données
    Réponses: 3
    Dernier message: 29/04/2006, 00h11
  3. Réponses: 1
    Dernier message: 24/03/2006, 18h59
  4. [ADO.NET][VB.Net]Comment réaliser jointure de 2 DataTables ?
    Par prophetky dans le forum Accès aux données
    Réponses: 5
    Dernier message: 17/02/2006, 14h55
  5. [ADO.Net][VB.NET] Comment ajouter une colonne Integer à un DataTable ?
    Par graphicsxp dans le forum Accès aux données
    Réponses: 2
    Dernier message: 20/04/2005, 12h08

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