OVH Cloud OVH Cloud

ajouter DataTable dans un DataSet

3 réponses
Avatar
david
Bonjour,
j'ai une fonction de recherche qui me retourne une DataTable et je voudrais
mettre a jour mon DataSet avec cette table.

j'ai essayé de 2 manières différentes :
**************
DataTable oLocalDataTable ;
oLocalDataTable = MyDataSet.Tables.Add("ARTICLE");
oLocalDataTable = RechercherArticles();
**************
DataTable oLocalDataTable ;
oLocalDataTable = RechercherArticles();
MyDataSet.Tables.Add(oLocalDataTable.Clone());
**************
cela ne semble pas marcher car le résultat présent ensuite dans la table du
dataset ( 1 row ) ne correspond pas a celui trouver au préalable par la
fonction de recherche( 13 rows) et cela avec les 2 manières de faire. Après
avoir longtemp vérifier si je pouvais trouver le problème ailleurs que dans
ces 3 lignes, j'en viens a poser la question sur ce forum.

Y a-t-il une raison évidente à mon problème dans ma manières d'ajouter la
table dans le DataSet ?

merci d'avance

3 réponses

Avatar
david
En fait, la première manière est certainement fausse !! je lie 2 dataset
ensemble sans m'en rendre compte, ça risque pas de marcher....
La deuxième par contre est pas loin d'etre correcte je pense, il aurait
fallu que je remplace la méthode CLONE() par COPY() car clone ne copie que la
structure et pas le contenu. Malheureusement avec le compact Framework je
n'ai pas la méthode COPY()... et je vais pas copier ligne par ligne, ma table
est trop grande. Tant pis, je copierai pas la datatable dans le dataset.

"" a écrit :

Bonjour,
j'ai une fonction de recherche qui me retourne une DataTable et je voudrais
mettre a jour mon DataSet avec cette table.

j'ai essayé de 2 manières différentes :
**************
DataTable oLocalDataTable ;
oLocalDataTable = MyDataSet.Tables.Add("ARTICLE");
oLocalDataTable = RechercherArticles();
**************
DataTable oLocalDataTable ;
oLocalDataTable = RechercherArticles();
MyDataSet.Tables.Add(oLocalDataTable.Clone());
**************
cela ne semble pas marcher car le résultat présent ensuite dans la table du
dataset ( 1 row ) ne correspond pas a celui trouver au préalable par la
fonction de recherche( 13 rows) et cela avec les 2 manières de faire. Après
avoir longtemp vérifier si je pouvais trouver le problème ailleurs que dans
ces 3 lignes, j'en viens a poser la question sur ce forum.

Y a-t-il une raison évidente à mon problème dans ma manières d'ajouter la
table dans le DataSet ?

merci d'avance



Avatar
Paul Bacelar
Et sans le clone ?
MyDataSet.Tables.Add(oLocalDataTable);
--
Paul Bacelar

"" wrote in message
news:
En fait, la première manière est certainement fausse !! je lie 2 dataset
ensemble sans m'en rendre compte, ça risque pas de marcher....
La deuxième par contre est pas loin d'etre correcte je pense, il aurait
fallu que je remplace la méthode CLONE() par COPY() car clone ne copie que


la
structure et pas le contenu. Malheureusement avec le compact Framework je
n'ai pas la méthode COPY()... et je vais pas copier ligne par ligne, ma


table
est trop grande. Tant pis, je copierai pas la datatable dans le dataset.

"" a écrit :

> Bonjour,
> j'ai une fonction de recherche qui me retourne une DataTable et je


voudrais
> mettre a jour mon DataSet avec cette table.
>
> j'ai essayé de 2 manières différentes :
> **************
> DataTable oLocalDataTable ;
> oLocalDataTable = MyDataSet.Tables.Add("ARTICLE");
> oLocalDataTable = RechercherArticles();
> **************
> DataTable oLocalDataTable ;
> oLocalDataTable = RechercherArticles();
> MyDataSet.Tables.Add(oLocalDataTable.Clone());
> **************
> cela ne semble pas marcher car le résultat présent ensuite dans la table


du
> dataset ( 1 row ) ne correspond pas a celui trouver au préalable par la
> fonction de recherche( 13 rows) et cela avec les 2 manières de faire.


Après
> avoir longtemp vérifier si je pouvais trouver le problème ailleurs que


dans
> ces 3 lignes, j'en viens a poser la question sur ce forum.
>
> Y a-t-il une raison évidente à mon problème dans ma manières d'ajouter


la
> table dans le DataSet ?
>
> merci d'avance
>


Avatar
david
J'ai essayé sans le clone mais il s'est produit ce que j'attendais :
message du débogeur : "DataTable already belongs to another DataSet."
logique...
Finalement, j'ai décidai de faire comme ceci :
DataTable oLocalDataTable ;
oLocalDataTable = RechercherArticles();
MyDataSet = oLocalDataTable.DataSet ;

Ca marche !

Je copie tout le dataset de la datatable récupérée dans mon dataset. Je perd
toutes les informations qu'il y avait précedemment dans mon dataset mais
heureusement, j'en avais plus besoin.



"Paul Bacelar" a écrit :

Et sans le clone ?
MyDataSet.Tables.Add(oLocalDataTable);
--
Paul Bacelar

"" wrote in message
news:
> En fait, la première manière est certainement fausse !! je lie 2 dataset
> ensemble sans m'en rendre compte, ça risque pas de marcher....
> La deuxième par contre est pas loin d'etre correcte je pense, il aurait
> fallu que je remplace la méthode CLONE() par COPY() car clone ne copie que
la
> structure et pas le contenu. Malheureusement avec le compact Framework je
> n'ai pas la méthode COPY()... et je vais pas copier ligne par ligne, ma
table
> est trop grande. Tant pis, je copierai pas la datatable dans le dataset.
>
> "" a écrit :
>
> > Bonjour,
> > j'ai une fonction de recherche qui me retourne une DataTable et je
voudrais
> > mettre a jour mon DataSet avec cette table.
> >
> > j'ai essayé de 2 manières différentes :
> > **************
> > DataTable oLocalDataTable ;
> > oLocalDataTable = MyDataSet.Tables.Add("ARTICLE");
> > oLocalDataTable = RechercherArticles();
> > **************
> > DataTable oLocalDataTable ;
> > oLocalDataTable = RechercherArticles();
> > MyDataSet.Tables.Add(oLocalDataTable.Clone());
> > **************
> > cela ne semble pas marcher car le résultat présent ensuite dans la table
du
> > dataset ( 1 row ) ne correspond pas a celui trouver au préalable par la
> > fonction de recherche( 13 rows) et cela avec les 2 manières de faire.
Après
> > avoir longtemp vérifier si je pouvais trouver le problème ailleurs que
dans
> > ces 3 lignes, j'en viens a poser la question sur ce forum.
> >
> > Y a-t-il une raison évidente à mon problème dans ma manières d'ajouter
la
> > table dans le DataSet ?
> >
> > merci d'avance
> >