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 :

[DATASET]Concaténation de dataset


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 117
    Points : 80
    Points
    80
    Par défaut [DATASET]Concaténation de dataset
    Bonjour, je pense qu'un exemple sera plus parlant alors voici mon bout de code qui me pose problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    //TODO amméliorer l'aglo de génération de Excel en fonction du type d'objet (Project/Record) tres consommateur de ressource
                    if (comboBoxDefinition.Text == "Record")
                    {
                        marequete = getRequestExtractRecord(listBox1.Items[i].ToString());
                    }
                    else
                    {
                        marequete = getRequestExtractProject(listBox1.Items[i].ToString(), textBoxProjectsPrefix.Text);
                    }
                    //initialisation de mon dataset avec la requete mise en paramètre.
                    toto.ExecutionRequeteAvecDataSet(marequete, "");
                    toto.executeRequest();
                    tableauDaSet = toto.returnMonResultatDataSet();
    
    //Voici ce que j'aimerai faire :
    
                    dataSetResultat.Table[i] = tableauDaSet.Tables[0];
    
                      }
                    fcn.setDataSet(dataSetResultat);
                fcn.traitementXslt();
                fcn.EnregistrementExcel();
           }
    Mais lorsque je fais ca j'ai une erreure du type La propriété ou l'indexeur ne peut pas être assigné -- il est en lecture seul

    En fait j'aimerai beaucoup faire quelque chose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataSetResultat = dataSetResultat + tableauDaSet;
    Mais je n'ai pas vraiment d'idées comment faire??

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    il me semble que c'est quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dataSetResultat.Table[i].Rows.Add(tableauDaSet.Tables[0]);
    mais faut aussi vérifier que les structures des tables sont compatibles

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 117
    Points : 80
    Points
    80
    Par défaut
    Merci, mais ca n'a pas résolu mon problème.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    au lieu d'utiliser un dataset pour réunir tes différentes tables, tu peux aussi créer un dataTable avant ta boucle.


    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DataTable dt = New DataTable;
            dt.Columns.Add(New DataColumn("IntegerValue", GetType(Integer)));
            dt.Columns.Add(New DataColumn("StringValue", GetType(String)));
            dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)));
            dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean)));

    bien sur il faut que la structure corresponde avec ce que tu va y entrer.

    ensuite ta boucle devrait ressembler à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    //TODO amméliorer l'aglo de génération de Excel en fonction du type d'objet (Project/Record) tres consommateur de ressource
                    if (comboBoxDefinition.Text == "Record")
                    {
                        marequete = getRequestExtractRecord(listBox1.Items[i].ToString());
                    }
                    else
                    {
                        marequete = getRequestExtractProject(listBox1.Items[i].ToString(), textBoxProjectsPrefix.Text);
                    }
                    //initialisation de mon dataset avec la requete mise en paramètre.
                    toto.ExecutionRequeteAvecDataSet(marequete, "");
                    toto.executeRequest();
                    tableauDaSet = toto.returnMonResultatDataSet();
     
    //ajout dans la DataTable de la table du tableauDaSet :
     
                    for (int j=0; j<tableauDaSet.Tables[0].Rows.Count; j++)
                    {
                             dt.Rows.Add(tableauDaSet.Tables[0].Rows[j]);
                    }
     
     
                      }
                    fcn.setDataSet(dataSetResultat);
                fcn.traitementXslt();
                fcn.EnregistrementExcel();
           }

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 117
    Points : 80
    Points
    80
    Par défaut
    ok merci beaucoup, mais pour la suite ca ne m'arrange pas beaucoup d'avoir un dataTable.

    Car la suite du traitement est la conversion du datasetFinal en fichier XML.

    Ce fichier XML est traité avec un XSLT. Mais avec mon fichier XSLT je dois faire la différence avec tous les dataset qui ont été créé.

    C'est pour ca que j'aurai été intéressé par faire des Tables différentes pour chaques dataset créé.

    Je ne sais pas si j"ai été claire ... :s

    Par ailleur je suis entrain de tester la methode Merge du dataset.

Discussions similaires

  1. [2008R2] Partager paramètre DataSet MDX et DataSet SQL
    Par dai.kaioh dans le forum SSRS
    Réponses: 1
    Dernier message: 11/05/2011, 14h27
  2. Split d'un dataset en multiples datasets
    Par BonyR dans le forum Débutez
    Réponses: 3
    Dernier message: 24/03/2010, 15h06
  3. [DataSet] IDENTITY_INSERT avec DataSet
    Par Kelpan dans le forum Accès aux données
    Réponses: 9
    Dernier message: 30/03/2008, 00h26
  4. Réponses: 6
    Dernier message: 23/11/2007, 12h18
  5. [C#][DataSet]Trier un dataset
    Par arthenius dans le forum Windows Forms
    Réponses: 1
    Dernier message: 21/06/2006, 08h52

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