Sur mon application, j'ai un bouton qui execute cette procédure lors de son
evênement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur grâce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun problème.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui qui
a été choisit la 1ère fois.
Vous y comprenez quelque chose ?
A+ et Merci
Sur mon application, j'ai un bouton qui execute cette procédure lors de son
evênement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur grâce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun problème.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui qui
a été choisit la 1ère fois.
Vous y comprenez quelque chose ?
A+ et Merci
Sur mon application, j'ai un bouton qui execute cette procédure lors de son
evênement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur grâce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun problème.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui qui
a été choisit la 1ère fois.
Vous y comprenez quelque chose ?
A+ et Merci
Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le problème ne vient pas de
là .....
Pour reproduire ce même problème, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par exemple).
Lors du 2ème appel, cela conserve en mémoire le 1er fichier appelé.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset intermédiaire
ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset intermédiaire dans le dataset principal
dsFichierXML = ds;
// On supprime le dataset intermédiaire
ds = null;
Ca marche mais je trouve ca pas très propre....
Une autre idée ?
Merci quand même :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Bonjour,
en fait je ne crois que le problème vienne d'une mauvaise relecture
comme tu ne vide pas le dataset le deuxcième choix est a mon avis
ajouté à la suite dans le dataset et n'efface donc pas le début topo si
dans ton affichage tu n'affiche que les 3 première ligne par exemple tu
ne verra pas le nouveau fichier et ses données je serais toi dans la
prpcédure clic je ferais un
dsFichierXML.Clear() pour le vider de manière sur
esaaie déjà ça si tu es dans une application windows il n'y a pas de
problème de post back ou d'autre truc du genre donc c sur la textbox
renvoi le bon chemin / fichier essai d'ailleur d'afficher ça valeur
lors de l'exécution pas a pas donc le problème est très certainement
sur le dataset tu ne penses pas à le vider et tout se cummul
Sebastien
Lebrun Thomas a émis l'idée suivante :Sur mon application, j'ai un bouton qui execute cette proc�©dure lors de
son ev�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�¢ce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�šme.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui
qui a �©t�© choisit la 1�šre fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le problème ne vient pas de
là .....
Pour reproduire ce même problème, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par exemple).
Lors du 2ème appel, cela conserve en mémoire le 1er fichier appelé.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset intermédiaire
ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset intermédiaire dans le dataset principal
dsFichierXML = ds;
// On supprime le dataset intermédiaire
ds = null;
Ca marche mais je trouve ca pas très propre....
Une autre idée ?
Merci quand même :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Bonjour,
en fait je ne crois que le problème vienne d'une mauvaise relecture
comme tu ne vide pas le dataset le deuxcième choix est a mon avis
ajouté à la suite dans le dataset et n'efface donc pas le début topo si
dans ton affichage tu n'affiche que les 3 première ligne par exemple tu
ne verra pas le nouveau fichier et ses données je serais toi dans la
prpcédure clic je ferais un
dsFichierXML.Clear() pour le vider de manière sur
esaaie déjà ça si tu es dans une application windows il n'y a pas de
problème de post back ou d'autre truc du genre donc c sur la textbox
renvoi le bon chemin / fichier essai d'ailleur d'afficher ça valeur
lors de l'exécution pas a pas donc le problème est très certainement
sur le dataset tu ne penses pas à le vider et tout se cummul
Sebastien
Lebrun Thomas a émis l'idée suivante :
Sur mon application, j'ai un bouton qui execute cette proc�©dure lors de
son ev�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�¢ce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�šme.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui
qui a �©t�© choisit la 1�šre fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le problème ne vient pas de
là .....
Pour reproduire ce même problème, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par exemple).
Lors du 2ème appel, cela conserve en mémoire le 1er fichier appelé.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset intermédiaire
ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset intermédiaire dans le dataset principal
dsFichierXML = ds;
// On supprime le dataset intermédiaire
ds = null;
Ca marche mais je trouve ca pas très propre....
Une autre idée ?
Merci quand même :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Bonjour,
en fait je ne crois que le problème vienne d'une mauvaise relecture
comme tu ne vide pas le dataset le deuxcième choix est a mon avis
ajouté à la suite dans le dataset et n'efface donc pas le début topo si
dans ton affichage tu n'affiche que les 3 première ligne par exemple tu
ne verra pas le nouveau fichier et ses données je serais toi dans la
prpcédure clic je ferais un
dsFichierXML.Clear() pour le vider de manière sur
esaaie déjà ça si tu es dans une application windows il n'y a pas de
problème de post back ou d'autre truc du genre donc c sur la textbox
renvoi le bon chemin / fichier essai d'ailleur d'afficher ça valeur
lors de l'exécution pas a pas donc le problème est très certainement
sur le dataset tu ne penses pas à le vider et tout se cummul
Sebastien
Lebrun Thomas a émis l'idée suivante :Sur mon application, j'ai un bouton qui execute cette proc�©dure lors de
son ev�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�¢ce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�šme.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui
qui a �©t�© choisit la 1�šre fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
En fait, j'ai fait quelque tests et il s'avère que la méthode que tu a
utilisée fontionne car tu instancies un nouveau dataSet lors du clic sur le
bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le même "bug" que moi, car à chaque clic sur
le bouton, j'utilise tjrs le même dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Ok
voilà ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typé donc j'ai fabriqué le fichier
ds1.xml et ds2.xml en créant deux dataadapter chargeant les datasets
puis en les écrivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxième temps on tape
ds2.xml et ça le charge (suite à un clic sur un bouton ) pour vérifier
mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontré le problème que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typé cela
dit mes fichiers xml ayant deux schéma différent car non issue de la
même base ni de la même table il aurait fallu faire un test pour
déterminer quel type de dataset utiliser.
Par rapport à ton système j'économise un dataset et je ne vois pas ce
qu'il y a à reprocher (que ce soit ton système ou le mien) seul
inconvénient quid de l'utilisation de la mémoire si on clic 50 fois par
exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typé dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear à chaque fois on crée une nouvelle référence et
quand le GC passe il nettoie voir en forcer l'appelle GC.collect()
histoire de nettoyer mais je ne suis pas persuadé que cela améliore les
perf au contraire le GC est long et consommateur de ressource
Sebastien
LEBRUN Thomas a pensé très fort :Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�šme ne vient pas
de lÃ? .....
Pour reproduire ce m�ªme probl�šme, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par exemple).
Lors du 2�šme appel, cela conserve en m�©moire le 1er fichier
appel�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�©diaire dans le dataset principal
dsFichierXML = ds;
// On supprime le dataset interm�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�šs propre....
Une autre id�©e ?
Merci quand m�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Bonjour,
en fait je ne crois que le probl�šme vienne d'une mauvaise relecture
comme tu ne vide pas le dataset le deuxci�šme choix est a mon avis
ajout�© � la suite dans le dataset et n'efface donc pas le d�©but
topo si dans ton affichage tu n'affiche que les 3 premi�šre ligne par
exemple tu ne verra pas le nouveau fichier et ses donn�©es je serais
toi dans la prpc�©dure clic je ferais un
dsFichierXML.Clear() pour le vider de mani�šre sur
esaaie d�©j� �§a si tu es dans une application windows il n'y a pas
de probl�šme de post back ou d'autre truc du genre donc c sur la
textbox renvoi le bon chemin / fichier essai d'ailleur d'afficher �§a
valeur lors de l'ex�©cution pas a pas donc le probl�šme est tr�šs
certainement sur le dataset tu ne penses pas Ã? le vider et tout se
cummul
Sebastien
Lebrun Thomas a �©mis l'id�©e suivante :Sur mon application, j'ai un bouton qui execute cette proc�?�©dure
lors de son ev�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�?�¢ce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui
qui a �?�©t�?�© choisit la 1�?�¡re fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
En fait, j'ai fait quelque tests et il s'avère que la méthode que tu a
utilisée fontionne car tu instancies un nouveau dataSet lors du clic sur le
bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le même "bug" que moi, car à chaque clic sur
le bouton, j'utilise tjrs le même dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Ok
voilà ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typé donc j'ai fabriqué le fichier
ds1.xml et ds2.xml en créant deux dataadapter chargeant les datasets
puis en les écrivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxième temps on tape
ds2.xml et ça le charge (suite à un clic sur un bouton ) pour vérifier
mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontré le problème que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typé cela
dit mes fichiers xml ayant deux schéma différent car non issue de la
même base ni de la même table il aurait fallu faire un test pour
déterminer quel type de dataset utiliser.
Par rapport à ton système j'économise un dataset et je ne vois pas ce
qu'il y a à reprocher (que ce soit ton système ou le mien) seul
inconvénient quid de l'utilisation de la mémoire si on clic 50 fois par
exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typé dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear à chaque fois on crée une nouvelle référence et
quand le GC passe il nettoie voir en forcer l'appelle GC.collect()
histoire de nettoyer mais je ne suis pas persuadé que cela améliore les
perf au contraire le GC est long et consommateur de ressource
Sebastien
LEBRUN Thomas a pensé très fort :
Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�šme ne vient pas
de lÃ? .....
Pour reproduire ce m�ªme probl�šme, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par exemple).
Lors du 2�šme appel, cela conserve en m�©moire le 1er fichier
appel�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�©diaire dans le dataset principal
dsFichierXML = ds;
// On supprime le dataset interm�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�šs propre....
Une autre id�©e ?
Merci quand m�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Bonjour,
en fait je ne crois que le probl�šme vienne d'une mauvaise relecture
comme tu ne vide pas le dataset le deuxci�šme choix est a mon avis
ajout�© � la suite dans le dataset et n'efface donc pas le d�©but
topo si dans ton affichage tu n'affiche que les 3 premi�šre ligne par
exemple tu ne verra pas le nouveau fichier et ses donn�©es je serais
toi dans la prpc�©dure clic je ferais un
dsFichierXML.Clear() pour le vider de mani�šre sur
esaaie d�©j� �§a si tu es dans une application windows il n'y a pas
de probl�šme de post back ou d'autre truc du genre donc c sur la
textbox renvoi le bon chemin / fichier essai d'ailleur d'afficher �§a
valeur lors de l'ex�©cution pas a pas donc le probl�šme est tr�šs
certainement sur le dataset tu ne penses pas Ã? le vider et tout se
cummul
Sebastien
Lebrun Thomas a �©mis l'id�©e suivante :
Sur mon application, j'ai un bouton qui execute cette proc�?�©dure
lors de son ev�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�?�¢ce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui
qui a �?�©t�?�© choisit la 1�?�¡re fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
En fait, j'ai fait quelque tests et il s'avère que la méthode que tu a
utilisée fontionne car tu instancies un nouveau dataSet lors du clic sur le
bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le même "bug" que moi, car à chaque clic sur
le bouton, j'utilise tjrs le même dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Ok
voilà ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typé donc j'ai fabriqué le fichier
ds1.xml et ds2.xml en créant deux dataadapter chargeant les datasets
puis en les écrivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxième temps on tape
ds2.xml et ça le charge (suite à un clic sur un bouton ) pour vérifier
mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontré le problème que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typé cela
dit mes fichiers xml ayant deux schéma différent car non issue de la
même base ni de la même table il aurait fallu faire un test pour
déterminer quel type de dataset utiliser.
Par rapport à ton système j'économise un dataset et je ne vois pas ce
qu'il y a à reprocher (que ce soit ton système ou le mien) seul
inconvénient quid de l'utilisation de la mémoire si on clic 50 fois par
exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typé dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear à chaque fois on crée une nouvelle référence et
quand le GC passe il nettoie voir en forcer l'appelle GC.collect()
histoire de nettoyer mais je ne suis pas persuadé que cela améliore les
perf au contraire le GC est long et consommateur de ressource
Sebastien
LEBRUN Thomas a pensé très fort :Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�šme ne vient pas
de lÃ? .....
Pour reproduire ce m�ªme probl�šme, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par exemple).
Lors du 2�šme appel, cela conserve en m�©moire le 1er fichier
appel�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�©diaire dans le dataset principal
dsFichierXML = ds;
// On supprime le dataset interm�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�šs propre....
Une autre id�©e ?
Merci quand m�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Bonjour,
en fait je ne crois que le probl�šme vienne d'une mauvaise relecture
comme tu ne vide pas le dataset le deuxci�šme choix est a mon avis
ajout�© � la suite dans le dataset et n'efface donc pas le d�©but
topo si dans ton affichage tu n'affiche que les 3 premi�šre ligne par
exemple tu ne verra pas le nouveau fichier et ses donn�©es je serais
toi dans la prpc�©dure clic je ferais un
dsFichierXML.Clear() pour le vider de mani�šre sur
esaaie d�©j� �§a si tu es dans une application windows il n'y a pas
de probl�šme de post back ou d'autre truc du genre donc c sur la
textbox renvoi le bon chemin / fichier essai d'ailleur d'afficher �§a
valeur lors de l'ex�©cution pas a pas donc le probl�šme est tr�šs
certainement sur le dataset tu ne penses pas Ã? le vider et tout se
cummul
Sebastien
Lebrun Thomas a �©mis l'id�©e suivante :Sur mon application, j'ai un bouton qui execute cette proc�?�©dure
lors de son ev�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�?�¢ce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui
qui a �?�©t�?�© choisit la 1�?�¡re fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
En fait, j'ai fait quelque tests et il s'avère que la méthode que tu a
utilisée fontionne car tu instancies un nouveau dataSet lors du clic sur le
bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le même "bug" que moi, car à chaque clic sur
le bouton, j'utilise tjrs le même dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Ok
voilà ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typé donc j'ai fabriqué le fichier
ds1.xml et ds2.xml en créant deux dataadapter chargeant les datasets
puis en les écrivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxième temps on tape
ds2.xml et ça le charge (suite à un clic sur un bouton ) pour vérifier
mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontré le problème que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typé cela
dit mes fichiers xml ayant deux schéma différent car non issue de la
même base ni de la même table il aurait fallu faire un test pour
déterminer quel type de dataset utiliser.
Par rapport à ton système j'économise un dataset et je ne vois pas ce
qu'il y a à reprocher (que ce soit ton système ou le mien) seul
inconvénient quid de l'utilisation de la mémoire si on clic 50 fois par
exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typé dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear à chaque fois on crée une nouvelle référence et
quand le GC passe il nettoie voir en forcer l'appelle GC.collect()
histoire de nettoyer mais je ne suis pas persuadé que cela améliore les
perf au contraire le GC est long et consommateur de ressource
Sebastien
LEBRUN Thomas a pensé très fort :Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�šme ne vient pas
de lÃ? .....
Pour reproduire ce m�ªme probl�šme, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par exemple).
Lors du 2�šme appel, cela conserve en m�©moire le 1er fichier
appel�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�©diaire dans le dataset principal
dsFichierXML = ds;
// On supprime le dataset interm�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�šs propre....
Une autre id�©e ?
Merci quand m�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Bonjour,
en fait je ne crois que le probl�šme vienne d'une mauvaise relecture
comme tu ne vide pas le dataset le deuxci�šme choix est a mon avis
ajout�© � la suite dans le dataset et n'efface donc pas le d�©but
topo si dans ton affichage tu n'affiche que les 3 premi�šre ligne par
exemple tu ne verra pas le nouveau fichier et ses donn�©es je serais
toi dans la prpc�©dure clic je ferais un
dsFichierXML.Clear() pour le vider de mani�šre sur
esaaie d�©j� �§a si tu es dans une application windows il n'y a pas
de probl�šme de post back ou d'autre truc du genre donc c sur la
textbox renvoi le bon chemin / fichier essai d'ailleur d'afficher �§a
valeur lors de l'ex�©cution pas a pas donc le probl�šme est tr�šs
certainement sur le dataset tu ne penses pas Ã? le vider et tout se
cummul
Sebastien
Lebrun Thomas a �©mis l'id�©e suivante :Sur mon application, j'ai un bouton qui execute cette proc�?�©dure
lors de son ev�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�?�¢ce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui
qui a �?�©t�?�© choisit la 1�?�¡re fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
En fait, j'ai fait quelque tests et il s'avère que la méthode que tu a
utilisée fontionne car tu instancies un nouveau dataSet lors du clic sur le
bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le même "bug" que moi, car à chaque clic sur
le bouton, j'utilise tjrs le même dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Ok
voilà ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typé donc j'ai fabriqué le fichier
ds1.xml et ds2.xml en créant deux dataadapter chargeant les datasets
puis en les écrivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxième temps on tape
ds2.xml et ça le charge (suite à un clic sur un bouton ) pour vérifier
mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontré le problème que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typé cela
dit mes fichiers xml ayant deux schéma différent car non issue de la
même base ni de la même table il aurait fallu faire un test pour
déterminer quel type de dataset utiliser.
Par rapport à ton système j'économise un dataset et je ne vois pas ce
qu'il y a à reprocher (que ce soit ton système ou le mien) seul
inconvénient quid de l'utilisation de la mémoire si on clic 50 fois par
exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typé dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear à chaque fois on crée une nouvelle référence et
quand le GC passe il nettoie voir en forcer l'appelle GC.collect()
histoire de nettoyer mais je ne suis pas persuadé que cela améliore les
perf au contraire le GC est long et consommateur de ressource
Sebastien
LEBRUN Thomas a pensé très fort :
Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�šme ne vient pas
de lÃ? .....
Pour reproduire ce m�ªme probl�šme, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par exemple).
Lors du 2�šme appel, cela conserve en m�©moire le 1er fichier
appel�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�©diaire dans le dataset principal
dsFichierXML = ds;
// On supprime le dataset interm�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�šs propre....
Une autre id�©e ?
Merci quand m�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Bonjour,
en fait je ne crois que le probl�šme vienne d'une mauvaise relecture
comme tu ne vide pas le dataset le deuxci�šme choix est a mon avis
ajout�© � la suite dans le dataset et n'efface donc pas le d�©but
topo si dans ton affichage tu n'affiche que les 3 premi�šre ligne par
exemple tu ne verra pas le nouveau fichier et ses donn�©es je serais
toi dans la prpc�©dure clic je ferais un
dsFichierXML.Clear() pour le vider de mani�šre sur
esaaie d�©j� �§a si tu es dans une application windows il n'y a pas
de probl�šme de post back ou d'autre truc du genre donc c sur la
textbox renvoi le bon chemin / fichier essai d'ailleur d'afficher �§a
valeur lors de l'ex�©cution pas a pas donc le probl�šme est tr�šs
certainement sur le dataset tu ne penses pas Ã? le vider et tout se
cummul
Sebastien
Lebrun Thomas a �©mis l'id�©e suivante :
Sur mon application, j'ai un bouton qui execute cette proc�?�©dure
lors de son ev�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�?�¢ce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui
qui a �?�©t�?�© choisit la 1�?�¡re fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
En fait, j'ai fait quelque tests et il s'avère que la méthode que tu a
utilisée fontionne car tu instancies un nouveau dataSet lors du clic sur le
bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le même "bug" que moi, car à chaque clic sur
le bouton, j'utilise tjrs le même dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Ok
voilà ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typé donc j'ai fabriqué le fichier
ds1.xml et ds2.xml en créant deux dataadapter chargeant les datasets
puis en les écrivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxième temps on tape
ds2.xml et ça le charge (suite à un clic sur un bouton ) pour vérifier
mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontré le problème que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typé cela
dit mes fichiers xml ayant deux schéma différent car non issue de la
même base ni de la même table il aurait fallu faire un test pour
déterminer quel type de dataset utiliser.
Par rapport à ton système j'économise un dataset et je ne vois pas ce
qu'il y a à reprocher (que ce soit ton système ou le mien) seul
inconvénient quid de l'utilisation de la mémoire si on clic 50 fois par
exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typé dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear à chaque fois on crée une nouvelle référence et
quand le GC passe il nettoie voir en forcer l'appelle GC.collect()
histoire de nettoyer mais je ne suis pas persuadé que cela améliore les
perf au contraire le GC est long et consommateur de ressource
Sebastien
LEBRUN Thomas a pensé très fort :Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�šme ne vient pas
de lÃ? .....
Pour reproduire ce m�ªme probl�šme, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par exemple).
Lors du 2�šme appel, cela conserve en m�©moire le 1er fichier
appel�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�©diaire dans le dataset principal
dsFichierXML = ds;
// On supprime le dataset interm�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�šs propre....
Une autre id�©e ?
Merci quand m�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Bonjour,
en fait je ne crois que le probl�šme vienne d'une mauvaise relecture
comme tu ne vide pas le dataset le deuxci�šme choix est a mon avis
ajout�© � la suite dans le dataset et n'efface donc pas le d�©but
topo si dans ton affichage tu n'affiche que les 3 premi�šre ligne par
exemple tu ne verra pas le nouveau fichier et ses donn�©es je serais
toi dans la prpc�©dure clic je ferais un
dsFichierXML.Clear() pour le vider de mani�šre sur
esaaie d�©j� �§a si tu es dans une application windows il n'y a pas
de probl�šme de post back ou d'autre truc du genre donc c sur la
textbox renvoi le bon chemin / fichier essai d'ailleur d'afficher �§a
valeur lors de l'ex�©cution pas a pas donc le probl�šme est tr�šs
certainement sur le dataset tu ne penses pas Ã? le vider et tout se
cummul
Sebastien
Lebrun Thomas a �©mis l'id�©e suivante :Sur mon application, j'ai un bouton qui execute cette proc�?�©dure
lors de son ev�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�?�¢ce un
OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le bouton,
dsFichierXML lit non pas le fichier choisit par l'utilisateur, mais celui
qui a �?�©t�?�© choisit la 1�?�¡re fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avec le Reset, cela fonctionne très bien, merci :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Ah ben voilà avec un bout de code c plus facil tiens essaie ça
private void button2_Click(object sender, System.EventArgs e)
{
dataSet1.Reset();
dataSet1.ReadXml(textBox1.Text, XmlReadMode.Auto);
// DEBUG
MessageBox.Show(dataSet1.Tables[dataSet1.Tables.Count-1].TableName);
// DEBUG
}
je l'ai testé je penses que c bon sinon je bois mon café et je m'y
remet ;)
Sebastien
LEBRUN Thomas a exposé le 31/08/2004 :En fait, j'ai fait quelque tests et il s'av�šre que la m�©thode que tu
a utilis�©e fontionne car tu instancies un nouveau dataSet lors du clic
sur le bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le m�ªme "bug" que moi, car � chaque clic
sur le bouton, j'utilise tjrs le m�ªme dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Ok
voilÃ? ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typ�© donc j'ai fabriqu�© le fichier
ds1.xml et ds2.xml en cr�©ant deux dataadapter chargeant les datasets
puis en les �©crivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxi�šme temps on tape
ds2.xml et �§a le charge (suite � un clic sur un bouton ) pour
v�©rifier mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontr�© le probl�šme que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typ�© cela
dit mes fichiers xml ayant deux sch�©ma diff�©rent car non issue de la
m�ªme base ni de la m�ªme table il aurait fallu faire un test pour
d�©terminer quel type de dataset utiliser.
Par rapport � ton syst�šme j'�©conomise un dataset et je ne vois pas
ce qu'il y a � reprocher (que ce soit ton syst�šme ou le mien) seul
inconv�©nient quid de l'utilisation de la m�©moire si on clic 50 fois
par exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typ�© dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear � chaque fois on cr�©e une nouvelle
r�©f�©rence et quand le GC passe il nettoie voir en forcer l'appelle
GC.collect() histoire de nettoyer mais je ne suis pas persuad�© que
cela am�©liore les perf au contraire le GC est long et consommateur de
ressource
Sebastien
LEBRUN Thomas a pens�© tr�šs fort :Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�?�¡me ne vient
pas de lÃ?? .....
Pour reproduire ce m�?�ªme probl�?�¡me, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par
exemple). Lors du 2�?�¡me appel, cela conserve en m�?�©moire le 1er
fichier appel�?�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�?�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�?�©diaire dans le dataset
principal dsFichierXML = ds;
// On supprime le dataset interm�?�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�?�¡s propre....
Une autre id�?�©e ?
Merci quand m�?�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Bonjour,
en fait je ne crois que le probl�?�¡me vienne d'une mauvaise
relecture comme tu ne vide pas le dataset le deuxci�?�¡me choix est
a mon avis ajout�?�© �? la suite dans le dataset et n'efface donc
pas le d�?�©but topo si dans ton affichage tu n'affiche que les 3
premi�?�¡re ligne par exemple tu ne verra pas le nouveau fichier et
ses donn�?�©es je serais toi dans la prpc�?�©dure clic je ferais
un
dsFichierXML.Clear() pour le vider de mani�?�¡re sur
esaaie d�?�©j�? �?�§a si tu es dans une application windows il
n'y a pas de probl�?�¡me de post back ou d'autre truc du genre donc
c sur la textbox renvoi le bon chemin / fichier essai d'ailleur
d'afficher �?�§a valeur lors de l'ex�?�©cution pas a pas donc le
probl�?�¡me est tr�?�¡s certainement sur le dataset tu ne penses
pas Ã?? le vider et tout se cummul
Sebastien
Lebrun Thomas a �?�©mis l'id�?�©e suivante :Sur mon application, j'ai un bouton qui execute cette
proc�??�?�©dure lors de son ev�??�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�??�?�¢ce
un OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�??�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le
bouton, dsFichierXML lit non pas le fichier choisit par l'utilisateur,
mais celui qui a �??�?�©t�??�?�© choisit la 1�??�?�¡re
fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avec le Reset, cela fonctionne très bien, merci :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Ah ben voilà avec un bout de code c plus facil tiens essaie ça
private void button2_Click(object sender, System.EventArgs e)
{
dataSet1.Reset();
dataSet1.ReadXml(textBox1.Text, XmlReadMode.Auto);
// DEBUG
MessageBox.Show(dataSet1.Tables[dataSet1.Tables.Count-1].TableName);
// DEBUG
}
je l'ai testé je penses que c bon sinon je bois mon café et je m'y
remet ;)
Sebastien
LEBRUN Thomas a exposé le 31/08/2004 :
En fait, j'ai fait quelque tests et il s'av�šre que la m�©thode que tu
a utilis�©e fontionne car tu instancies un nouveau dataSet lors du clic
sur le bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le m�ªme "bug" que moi, car � chaque clic
sur le bouton, j'utilise tjrs le m�ªme dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Ok
voilÃ? ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typ�© donc j'ai fabriqu�© le fichier
ds1.xml et ds2.xml en cr�©ant deux dataadapter chargeant les datasets
puis en les �©crivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxi�šme temps on tape
ds2.xml et �§a le charge (suite � un clic sur un bouton ) pour
v�©rifier mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontr�© le probl�šme que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typ�© cela
dit mes fichiers xml ayant deux sch�©ma diff�©rent car non issue de la
m�ªme base ni de la m�ªme table il aurait fallu faire un test pour
d�©terminer quel type de dataset utiliser.
Par rapport � ton syst�šme j'�©conomise un dataset et je ne vois pas
ce qu'il y a � reprocher (que ce soit ton syst�šme ou le mien) seul
inconv�©nient quid de l'utilisation de la m�©moire si on clic 50 fois
par exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typ�© dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear � chaque fois on cr�©e une nouvelle
r�©f�©rence et quand le GC passe il nettoie voir en forcer l'appelle
GC.collect() histoire de nettoyer mais je ne suis pas persuad�© que
cela am�©liore les perf au contraire le GC est long et consommateur de
ressource
Sebastien
LEBRUN Thomas a pens�© tr�šs fort :
Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�?�¡me ne vient
pas de lÃ?? .....
Pour reproduire ce m�?�ªme probl�?�¡me, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par
exemple). Lors du 2�?�¡me appel, cela conserve en m�?�©moire le 1er
fichier appel�?�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�?�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�?�©diaire dans le dataset
principal dsFichierXML = ds;
// On supprime le dataset interm�?�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�?�¡s propre....
Une autre id�?�©e ?
Merci quand m�?�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Bonjour,
en fait je ne crois que le probl�?�¡me vienne d'une mauvaise
relecture comme tu ne vide pas le dataset le deuxci�?�¡me choix est
a mon avis ajout�?�© �? la suite dans le dataset et n'efface donc
pas le d�?�©but topo si dans ton affichage tu n'affiche que les 3
premi�?�¡re ligne par exemple tu ne verra pas le nouveau fichier et
ses donn�?�©es je serais toi dans la prpc�?�©dure clic je ferais
un
dsFichierXML.Clear() pour le vider de mani�?�¡re sur
esaaie d�?�©j�? �?�§a si tu es dans une application windows il
n'y a pas de probl�?�¡me de post back ou d'autre truc du genre donc
c sur la textbox renvoi le bon chemin / fichier essai d'ailleur
d'afficher �?�§a valeur lors de l'ex�?�©cution pas a pas donc le
probl�?�¡me est tr�?�¡s certainement sur le dataset tu ne penses
pas Ã?? le vider et tout se cummul
Sebastien
Lebrun Thomas a �?�©mis l'id�?�©e suivante :
Sur mon application, j'ai un bouton qui execute cette
proc�??�?�©dure lors de son ev�??�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�??�?�¢ce
un OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�??�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le
bouton, dsFichierXML lit non pas le fichier choisit par l'utilisateur,
mais celui qui a �??�?�©t�??�?�© choisit la 1�??�?�¡re
fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avec le Reset, cela fonctionne très bien, merci :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Ah ben voilà avec un bout de code c plus facil tiens essaie ça
private void button2_Click(object sender, System.EventArgs e)
{
dataSet1.Reset();
dataSet1.ReadXml(textBox1.Text, XmlReadMode.Auto);
// DEBUG
MessageBox.Show(dataSet1.Tables[dataSet1.Tables.Count-1].TableName);
// DEBUG
}
je l'ai testé je penses que c bon sinon je bois mon café et je m'y
remet ;)
Sebastien
LEBRUN Thomas a exposé le 31/08/2004 :En fait, j'ai fait quelque tests et il s'av�šre que la m�©thode que tu
a utilis�©e fontionne car tu instancies un nouveau dataSet lors du clic
sur le bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le m�ªme "bug" que moi, car � chaque clic
sur le bouton, j'utilise tjrs le m�ªme dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Ok
voilÃ? ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typ�© donc j'ai fabriqu�© le fichier
ds1.xml et ds2.xml en cr�©ant deux dataadapter chargeant les datasets
puis en les �©crivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxi�šme temps on tape
ds2.xml et �§a le charge (suite � un clic sur un bouton ) pour
v�©rifier mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontr�© le probl�šme que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typ�© cela
dit mes fichiers xml ayant deux sch�©ma diff�©rent car non issue de la
m�ªme base ni de la m�ªme table il aurait fallu faire un test pour
d�©terminer quel type de dataset utiliser.
Par rapport � ton syst�šme j'�©conomise un dataset et je ne vois pas
ce qu'il y a � reprocher (que ce soit ton syst�šme ou le mien) seul
inconv�©nient quid de l'utilisation de la m�©moire si on clic 50 fois
par exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typ�© dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear � chaque fois on cr�©e une nouvelle
r�©f�©rence et quand le GC passe il nettoie voir en forcer l'appelle
GC.collect() histoire de nettoyer mais je ne suis pas persuad�© que
cela am�©liore les perf au contraire le GC est long et consommateur de
ressource
Sebastien
LEBRUN Thomas a pens�© tr�šs fort :Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�?�¡me ne vient
pas de lÃ?? .....
Pour reproduire ce m�?�ªme probl�?�¡me, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par
exemple). Lors du 2�?�¡me appel, cela conserve en m�?�©moire le 1er
fichier appel�?�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�?�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�?�©diaire dans le dataset
principal dsFichierXML = ds;
// On supprime le dataset interm�?�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�?�¡s propre....
Une autre id�?�©e ?
Merci quand m�?�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Bonjour,
en fait je ne crois que le probl�?�¡me vienne d'une mauvaise
relecture comme tu ne vide pas le dataset le deuxci�?�¡me choix est
a mon avis ajout�?�© �? la suite dans le dataset et n'efface donc
pas le d�?�©but topo si dans ton affichage tu n'affiche que les 3
premi�?�¡re ligne par exemple tu ne verra pas le nouveau fichier et
ses donn�?�©es je serais toi dans la prpc�?�©dure clic je ferais
un
dsFichierXML.Clear() pour le vider de mani�?�¡re sur
esaaie d�?�©j�? �?�§a si tu es dans une application windows il
n'y a pas de probl�?�¡me de post back ou d'autre truc du genre donc
c sur la textbox renvoi le bon chemin / fichier essai d'ailleur
d'afficher �?�§a valeur lors de l'ex�?�©cution pas a pas donc le
probl�?�¡me est tr�?�¡s certainement sur le dataset tu ne penses
pas Ã?? le vider et tout se cummul
Sebastien
Lebrun Thomas a �?�©mis l'id�?�©e suivante :Sur mon application, j'ai un bouton qui execute cette
proc�??�?�©dure lors de son ev�??�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�??�?�¢ce
un OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�??�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le
bouton, dsFichierXML lit non pas le fichier choisit par l'utilisateur,
mais celui qui a �??�?�©t�??�?�© choisit la 1�??�?�¡re
fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Non, ce n'était pas dur : la plupart du temps, ce sont des cas que tu
rencontres dans la pratique, donc plus tu pratiques, plus tu as de fortes
chances de réussir :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Une question a part c'était dur les certifications que tu a passé il
s'agit de deux certif que je voudrais passer ?
LEBRUN Thomas a pensé très fort :En fait, j'ai fait quelque tests et il s'av�šre que la m�©thode que tu
a utilis�©e fontionne car tu instancies un nouveau dataSet lors du clic
sur le bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le m�ªme "bug" que moi, car � chaque clic
sur le bouton, j'utilise tjrs le m�ªme dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Ok
voilÃ? ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typ�© donc j'ai fabriqu�© le fichier
ds1.xml et ds2.xml en cr�©ant deux dataadapter chargeant les datasets
puis en les �©crivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxi�šme temps on tape
ds2.xml et �§a le charge (suite � un clic sur un bouton ) pour
v�©rifier mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontr�© le probl�šme que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typ�© cela
dit mes fichiers xml ayant deux sch�©ma diff�©rent car non issue de la
m�ªme base ni de la m�ªme table il aurait fallu faire un test pour
d�©terminer quel type de dataset utiliser.
Par rapport � ton syst�šme j'�©conomise un dataset et je ne vois pas
ce qu'il y a � reprocher (que ce soit ton syst�šme ou le mien) seul
inconv�©nient quid de l'utilisation de la m�©moire si on clic 50 fois
par exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typ�© dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear � chaque fois on cr�©e une nouvelle
r�©f�©rence et quand le GC passe il nettoie voir en forcer l'appelle
GC.collect() histoire de nettoyer mais je ne suis pas persuad�© que
cela am�©liore les perf au contraire le GC est long et consommateur de
ressource
Sebastien
LEBRUN Thomas a pens�© tr�šs fort :Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�?�¡me ne vient
pas de lÃ?? .....
Pour reproduire ce m�?�ªme probl�?�¡me, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par
exemple). Lors du 2�?�¡me appel, cela conserve en m�?�©moire le 1er
fichier appel�?�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�?�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�?�©diaire dans le dataset
principal dsFichierXML = ds;
// On supprime le dataset interm�?�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�?�¡s propre....
Une autre id�?�©e ?
Merci quand m�?�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Bonjour,
en fait je ne crois que le probl�?�¡me vienne d'une mauvaise
relecture comme tu ne vide pas le dataset le deuxci�?�¡me choix est
a mon avis ajout�?�© �? la suite dans le dataset et n'efface donc
pas le d�?�©but topo si dans ton affichage tu n'affiche que les 3
premi�?�¡re ligne par exemple tu ne verra pas le nouveau fichier et
ses donn�?�©es je serais toi dans la prpc�?�©dure clic je ferais
un
dsFichierXML.Clear() pour le vider de mani�?�¡re sur
esaaie d�?�©j�? �?�§a si tu es dans une application windows il
n'y a pas de probl�?�¡me de post back ou d'autre truc du genre donc
c sur la textbox renvoi le bon chemin / fichier essai d'ailleur
d'afficher �?�§a valeur lors de l'ex�?�©cution pas a pas donc le
probl�?�¡me est tr�?�¡s certainement sur le dataset tu ne penses
pas Ã?? le vider et tout se cummul
Sebastien
Lebrun Thomas a �?�©mis l'id�?�©e suivante :Sur mon application, j'ai un bouton qui execute cette
proc�??�?�©dure lors de son ev�??�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�??�?�¢ce
un OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�??�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le
bouton, dsFichierXML lit non pas le fichier choisit par l'utilisateur,
mais celui qui a �??�?�©t�??�?�© choisit la 1�??�?�¡re
fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Non, ce n'était pas dur : la plupart du temps, ce sont des cas que tu
rencontres dans la pratique, donc plus tu pratiques, plus tu as de fortes
chances de réussir :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Une question a part c'était dur les certifications que tu a passé il
s'agit de deux certif que je voudrais passer ?
LEBRUN Thomas a pensé très fort :
En fait, j'ai fait quelque tests et il s'av�šre que la m�©thode que tu
a utilis�©e fontionne car tu instancies un nouveau dataSet lors du clic
sur le bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le m�ªme "bug" que moi, car � chaque clic
sur le bouton, j'utilise tjrs le m�ªme dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Ok
voilÃ? ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typ�© donc j'ai fabriqu�© le fichier
ds1.xml et ds2.xml en cr�©ant deux dataadapter chargeant les datasets
puis en les �©crivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxi�šme temps on tape
ds2.xml et �§a le charge (suite � un clic sur un bouton ) pour
v�©rifier mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontr�© le probl�šme que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typ�© cela
dit mes fichiers xml ayant deux sch�©ma diff�©rent car non issue de la
m�ªme base ni de la m�ªme table il aurait fallu faire un test pour
d�©terminer quel type de dataset utiliser.
Par rapport � ton syst�šme j'�©conomise un dataset et je ne vois pas
ce qu'il y a � reprocher (que ce soit ton syst�šme ou le mien) seul
inconv�©nient quid de l'utilisation de la m�©moire si on clic 50 fois
par exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typ�© dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear � chaque fois on cr�©e une nouvelle
r�©f�©rence et quand le GC passe il nettoie voir en forcer l'appelle
GC.collect() histoire de nettoyer mais je ne suis pas persuad�© que
cela am�©liore les perf au contraire le GC est long et consommateur de
ressource
Sebastien
LEBRUN Thomas a pens�© tr�šs fort :
Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�?�¡me ne vient
pas de lÃ?? .....
Pour reproduire ce m�?�ªme probl�?�¡me, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par
exemple). Lors du 2�?�¡me appel, cela conserve en m�?�©moire le 1er
fichier appel�?�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�?�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�?�©diaire dans le dataset
principal dsFichierXML = ds;
// On supprime le dataset interm�?�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�?�¡s propre....
Une autre id�?�©e ?
Merci quand m�?�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"sebastien981_nospam@hotmail.com" wrote:
Bonjour,
en fait je ne crois que le probl�?�¡me vienne d'une mauvaise
relecture comme tu ne vide pas le dataset le deuxci�?�¡me choix est
a mon avis ajout�?�© �? la suite dans le dataset et n'efface donc
pas le d�?�©but topo si dans ton affichage tu n'affiche que les 3
premi�?�¡re ligne par exemple tu ne verra pas le nouveau fichier et
ses donn�?�©es je serais toi dans la prpc�?�©dure clic je ferais
un
dsFichierXML.Clear() pour le vider de mani�?�¡re sur
esaaie d�?�©j�? �?�§a si tu es dans une application windows il
n'y a pas de probl�?�¡me de post back ou d'autre truc du genre donc
c sur la textbox renvoi le bon chemin / fichier essai d'ailleur
d'afficher �?�§a valeur lors de l'ex�?�©cution pas a pas donc le
probl�?�¡me est tr�?�¡s certainement sur le dataset tu ne penses
pas Ã?? le vider et tout se cummul
Sebastien
Lebrun Thomas a �?�©mis l'id�?�©e suivante :
Sur mon application, j'ai un bouton qui execute cette
proc�??�?�©dure lors de son ev�??�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�??�?�¢ce
un OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�??�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le
bouton, dsFichierXML lit non pas le fichier choisit par l'utilisateur,
mais celui qui a �??�?�©t�??�?�© choisit la 1�??�?�¡re
fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Non, ce n'était pas dur : la plupart du temps, ce sont des cas que tu
rencontres dans la pratique, donc plus tu pratiques, plus tu as de fortes
chances de réussir :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Une question a part c'était dur les certifications que tu a passé il
s'agit de deux certif que je voudrais passer ?
LEBRUN Thomas a pensé très fort :En fait, j'ai fait quelque tests et il s'av�šre que la m�©thode que tu
a utilis�©e fontionne car tu instancies un nouveau dataSet lors du clic
sur le bouton (ds = new DataSet).
Si tu pouvais essayer cette source :
http://morpheus.developpez.com/temp/WindowsApplication6.zip
tu devrais, normalement avoir le m�ªme "bug" que moi, car � chaque clic
sur le bouton, j'utilise tjrs le m�ªme dataset, je n'en instancie pas un
nouveau.....
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Ok
voilÃ? ce que j'ai fait histoire de voir si j'ai bien compris
je prend deux base pubs et northwind de chacune j'extrais un fichier
xml qui est en fait un dataset typ�© donc j'ai fabriqu�© le fichier
ds1.xml et ds2.xml en cr�©ant deux dataadapter chargeant les datasets
puis en les �©crivant sur c: j'ai donc c:ds1.xml pour northwind et
ds2.xml pour pubs le pub du jeux c'est en tapant dans la textbox
c:ds1.xml de charger ce fichier puis dans un deuxi�šme temps on tape
ds2.xml et �§a le charge (suite � un clic sur un bouton ) pour
v�©rifier mes fichiers je les ai mis dans un datagrid
voici le code du bouton qui charge et pour ma part je n'ai pas
rencontr�© le probl�šme que tu souligne
DataSet myds;
private void button1_Click(object sender, System.EventArgs e)
{
myds=new DataSet();
myds.ReadXml(this.textBox1.Text);
this.dataGrid1.DataSource=myds.Tables[0];
}
evidemment tu constate qu'il y a utilisation d'un dataset non typ�© cela
dit mes fichiers xml ayant deux sch�©ma diff�©rent car non issue de la
m�ªme base ni de la m�ªme table il aurait fallu faire un test pour
d�©terminer quel type de dataset utiliser.
Par rapport � ton syst�šme j'�©conomise un dataset et je ne vois pas
ce qu'il y a � reprocher (que ce soit ton syst�šme ou le mien) seul
inconv�©nient quid de l'utilisation de la m�©moire si on clic 50 fois
par exemple
Par contre si tu veux utiliser ton dsFichier parce qu'il est typ�© dans
ce cas dans ta fonction de clic bouton pourquoi ne fais tu pas
dsFichierXML=new MonDataset();
dsFichierXML.readxml(...)
plus besoin du clear � chaque fois on cr�©e une nouvelle
r�©f�©rence et quand le GC passe il nettoie voir en forcer l'appelle
GC.collect() histoire de nettoyer mais je ne suis pas persuad�© que
cela am�©liore les perf au contraire le GC est long et consommateur de
ressource
Sebastien
LEBRUN Thomas a pens�© tr�šs fort :Non, je fais bien un
dsFichierXML.Clear();
avant de lire le contenu du fichier XML, donc le probl�?�¡me ne vient
pas de lÃ?? .....
Pour reproduire ce m�?�ªme probl�?�¡me, c'est simple :
- une textBox
- un bouton
- un dataset
Lors du click sur le bouton, on fait un
dataSet1.ReadXml(textBox1.Text);
puis on regarde le contenu du dataset (au moyen d'une boucle par
exemple). Lors du 2�?�¡me appel, cela conserve en m�?�©moire le 1er
fichier appel�?�©.
Pour l'instant, j'ai mis en place un truc :
DataSet ds = new DataSet();
// On place le contenu du fichier XML dans le dataset
interm�?�©diaire ds.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
// On copie le dataset interm�?�©diaire dans le dataset
principal dsFichierXML = ds;
// On supprime le dataset interm�?�©diaire
ds = null;
Ca marche mais je trouve ca pas tr�?�¡s propre....
Une autre id�?�©e ?
Merci quand m�?�ªme :)
A+
-------------------
LEBRUN Thomas
http://morpheus.developpez.com
"" wrote:Bonjour,
en fait je ne crois que le probl�?�¡me vienne d'une mauvaise
relecture comme tu ne vide pas le dataset le deuxci�?�¡me choix est
a mon avis ajout�?�© �? la suite dans le dataset et n'efface donc
pas le d�?�©but topo si dans ton affichage tu n'affiche que les 3
premi�?�¡re ligne par exemple tu ne verra pas le nouveau fichier et
ses donn�?�©es je serais toi dans la prpc�?�©dure clic je ferais
un
dsFichierXML.Clear() pour le vider de mani�?�¡re sur
esaaie d�?�©j�? �?�§a si tu es dans une application windows il
n'y a pas de probl�?�¡me de post back ou d'autre truc du genre donc
c sur la textbox renvoi le bon chemin / fichier essai d'ailleur
d'afficher �?�§a valeur lors de l'ex�?�©cution pas a pas donc le
probl�?�¡me est tr�?�¡s certainement sur le dataset tu ne penses
pas Ã?? le vider et tout se cummul
Sebastien
Lebrun Thomas a �?�©mis l'id�?�©e suivante :Sur mon application, j'ai un bouton qui execute cette
proc�??�?�©dure lors de son ev�??�?�ªnement Click :
// On lit le fichier XML et on place le contenu dans un dataSet
dsFichierXML.ReadXml(tbCheminXML.Text, XmlReadMode.Auto);
dsFichierXML est mon DataSet.
tbCheminXML est une textBox remplie par l'utilisateur gr�??�?�¢ce
un OpenFileDialog.
Lors du 1er appel, tout ce passe bien, aucun probl�??�?�¡me.
Mais si l'utilisateur choisit un autre fichier, et re-clic sur le
bouton, dsFichierXML lit non pas le fichier choisit par l'utilisateur,
mais celui qui a �??�?�©t�??�?�© choisit la 1�??�?�¡re
fois.
Vous y comprenez quelque chose ?
A+ et Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com