begin process at 2012 02 09 20:11:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Mono

 > 

Général

 > 

vider un datarow[]


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

vider un datarow[]

jeudi 27 septembre 2007 à 19:55:55 | vider un datarow[]

skysee

Bonjour a tous,
Voici mon problème:

J'ouvre un fichier xml, avec lequel je rempli un dataset. Je créé ensuite un table de row (datarow[]) dans le lequel je stoque des les ligne de mon dataset (enfin datatable) sélectionnées par la commande select. Ensuite j'affiche ce datarow[] dans une listview. Donc pas de problème tout cela fonctionne tres bien. Voici le code :


                xmlDocDvd.Load("basedvd.xml");                                             //chargement fichier xml
                XmlNodeReader xnr = new XmlNodeReader(xmlDocDvd);     
                myDsDvd.ReadXml(xnr);                                                          //remplissage du dataset

               
                DataRow[] tabRowDvd;     
               
                tabRowDvd = myDsDvd.Tables[0].Select("emprunteur='maison'"); //remplissage de mon table de ligne avec un filtre sur la table.
                //puis affichage des données du tabRowDvd dans une listview.

Cependant je rappel cette méthode a un autre endroite afin de faire une mise de la listview. Le problème est que les nouvelles données viennent se mettrent à la suite des données précédante dans mon tabRowDvd.
Or je souhaiterais que les enciennes données soient écrasées puis remplacées par les nouvelles.

Donc comment réinitialiser mon tabRowDvd?

Voila , en espèrant être clair, merci à vous :)
jeudi 27 septembre 2007 à 20:49:40 | Re : vider un datarow[]

bidou_01

  xmlDocDvd.Load("basedvd.xml");                                             //chargement fichier xml
                XmlNodeReader xnr = new XmlNodeReader(xmlDocDvd);     
                myDsDvd.ReadXml(xnr);                                                          //remplissage du dataset

               
                DataRow[] tabRowDvd;     
               
                tabRowDvd = myDsDvd.Tables[0].Select("emprunteur='maison'"); //remplissage de mon table de ligne avec un filtre sur la table.
                //puis affichage des données du tabRowDvd dans une listview.

[...]

tabRowDvd = null;
tabRowDvd = myDsDvd.Tables[0].Select("emprunteur='apparte'");

?

http://www.corioland.eu 
vendredi 28 septembre 2007 à 04:42:25 | Re : vider un datarow[]

skysee

Le problème est bien la et je comprend vraiment pas: Voici ma méthode complète :

private void initAffichage()
        {
            int nbLigneTabDvdMaison = 0;
            int nbLigneTabDvdEmp = 0;

            try
            {
                xmlDocDvd.Load("basedvd.xml");
                XmlNodeReader xnr = new XmlNodeReader(xmlDocDvd);
                myDsDvd.ReadXml(xnr);               

                //affichage des dvd a la maison
                DataRow[] tabRowDvd;
                tabRowDvd = null;
                tabRowDvd = myDsDvd.Tables[0].Select("emprunteur='maison'");
                nbLigneTabDvdMaison = tabRowDvd.Length;

                for (int i =0 ; i < nbLigneTabDvdMaison; i++)
                {
                    ListViewItem ItemDvdMaison = new ListViewItem(tabRowDvd[i][0].ToString());
                    listViewDvd.Items.Add(ItemDvdMaison);
                }
                //-------------------------------
                //affichage des dvd prêté
                DataRow[] tabRowEmp;
                tabRowEmp = null;
                tabRowEmp = myDsDvd.Tables[0].Select("emprunteur<>'maison'");
                nbLigneTabDvdEmp = tabRowEmp.Length;
                for (int i1 = 0; i1 < nbLigneTabDvdEmp; i1++)
                {
                    ListViewItem ItemDvdEmp = new ListViewItem(tabRowEmp[i1][0].ToString());
                    ItemDvdEmp.Text = tabRowEmp[i1][0].ToString();
                    ItemDvdEmp.SubItems.Add(tabRowEmp[i1][1].ToString());
                    listViewPret.Items.Add(ItemDvdEmp);
                }
                //-------------------------------



            }
            catch (Exception e1)
            {
                MessageBox.Show(e1.Message.ToString());
            }
        }


La première fois qu j'appel initAffichage(), la variable nbLigneTabDvdMaison prend 78 apres initialisation par nbLigneTabDvdMaison = tabRowDvd.Length;
La première fois qu j'appel initAffichage(), la variable nbLigneTabDvdEmp prend 4 apres initialisation par tabRowEmp = myDsDvd.Tables[0].Select("emprunteur<>'maison'");

Et à chaque fois que je rappel initAffichage
nbLigneTabDvdMaison prend 78 llignes de plus que la fois précédente et nbLigneTabDvdEmp prend 4 lignes de plus que la fois précédente. Alors que les tableau sont initialiser a null.

Bref je comprend plus



vendredi 28 septembre 2007 à 06:55:12 | Re : vider un datarow[]

bidou_01

Si tu fais un débug en pas à pas, les variables nbLigneTabDvdMaison et nbLigneTabDvdEmp sont bien initialisées à 0 et tabRowEmp à null ?

Bidou_01
vendredi 28 septembre 2007 à 14:39:10 | Re : vider un datarow[]

skysee

Oui il passe bien a null, mais des qu'il est initialiser le problème arrive...j'avoue ne pas comprendre, ca viens obligatoirement de mon tabRowDvd = myDsDvd.Tables[0].Select("emprunteur='maison'");, je cherche je cherche...
vendredi 28 septembre 2007 à 14:45:21 | Re : vider un datarow[]

skysee

Réponse acceptée !
Ca y'est j'ai trouvé en écrivant les lignes de ma réponse au dessus. Comme quoi les c'est au plus pres du mur qu'on voit moins le mur.

En fait, a chaque appel de ma méthode, je reparcour le fichier xml que je....recharge dans mon dataset ....a la suite :)
Donc un ptit myDsDvd.Clear() et ca roule. Merci à toi, bonne journée.
vendredi 28 septembre 2007 à 15:57:34 | Re : vider un datarow[]

bidou_01

Ah ouai effectivement j'ai pas tilté sur le Load du dataSet dans ta fonction !! :)

Bidou_01


Cette discussion est classée dans : problème, données, xml, datarow, tabrowdvd


Répondre à ce message

Sujets en rapport avec ce message

problème xml et xslt [ par c_ensias ] Bonjour à tous,J'ai un fichier xml dont j'ai appliqué un filtre xslt pour en extraire des données.Je voudrais que la sortie soit un fichier XML qui re Problème avec XML (Faire comme fopen(file, "a+") en C) [ par MasterShadows ] Bonjour à tous et à toutes,alors je suis en train de faire une appli où j'utilise le  XML, en fait j'ai fait une boite de dialogue où on entre nos don Problème pour l'enregistrement de mon XML [ par nicolashodbert ] Mon but est de faire une appli avec une base de donnee en xml sur les mp3 et ensuite de les lires.une sorte de playlist mais un peu plus complet En mo Problème de gestion XML [ par SyDaze ] Bonjour, J'ai un problème que je n'arrive vraiment pas à m'expliquer:J'ai memorisé un fichier XML dans un objet XmlDocument, je voudrai effectuer une Problème avec base de données [ par emmanuel9 ] Bonjour à tous, Mon problème vient du faite que j'ai plusieurs tables dans une base de données dont une table personne et j'ai un programme qui ecrit Serialisation entre plusieurs applications [ par yes ] Bonjour,Voilà mon problème :je sauvegarde des données dans une application avec IFormatter formatter = new BinaryFormatter();tout ce pass bien, Récupération de données [ par ckoicedelire ] Bonjour, je réexplique mon problème : je récupère des infos sur le réseau via un UdpClient => UdpClient client = new UdpClient("127.0.0.1",1500); Problème d'affichage avec datagridview toujours pas réglé!!!! [ par patou1007 ] Bonjour,Je suis bloqué depuis un certain temps avec ce faux problème.J'ai envie d'afficher les données d'une base MySQL dans un datagridview.Pour l'in Problème de pagination avec le Datagrid [ par CREZ59 ] Bonjour à tous, J'ai un soucis avec un datagrid.Je formate un datagrid à la main, ensuite de fait un lien avec ma base de données. Je met la proprié crystal report [ par choukri175 ] Bonsoir, Mon problème est le suivant : Tjrs avec le fameux postgresql, je veux utiliser Expert Etat (crystal report) pour créer des états.J'ai un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales