OVH Cloud OVH Cloud

cloner les datarow d'un dataset

4 réponses
Avatar
Sylo
Bonjour,

je dispose d'un dataset avec une datatable. En effectuant un select sur
cette datatable, je voudrais rapidement mettre ces datarows dans un autre
dataset de la même structure que le dataset dont elle sont issue.
Comment faire cela rapidement.

Seconde question. pourquoi ne puis je pas retourner une datarow à partir
d'un service web

Merci pour tous vos éclaircicement
Sylo

4 réponses

Avatar
Millox Frédéric
Salut Sylo,

A priori, un code du style :

dsClone = dsOrigin.Clone
For Each row As Datarow in dsOrigin.Tables("NomDeTaDataTable").Select(....)
dsClone.Tables("NomDeTaDataTable").Rows.Add(row)
Next

doit marcher, après je ne l'ai jamais testé......

Pour ta question sur le service web, aucune idée.

A+

--
fmillox


"Sylo" a écrit :

Bonjour,

je dispose d'un dataset avec une datatable. En effectuant un select sur
cette datatable, je voudrais rapidement mettre ces datarows dans un autre
dataset de la même structure que le dataset dont elle sont issue.
Comment faire cela rapidement.

Seconde question. pourquoi ne puis je pas retourner une datarow à partir
d'un service web

Merci pour tous vos éclaircicement
Sylo





Avatar
Millox Frédéric
Rebonjour Sylo,

Pour ta question sur le service web, en cherchant sur le net, j'ai trouvé ce
bout de phrase traitant des services web : "L'usage de SOAP est toutefois
optionnel. Son avantage consiste à pouvoir retourner des données de type
complexe telles qu'un dataset par exemple. Sans SOAP, ce ne serait pas
possible."

Bonne chance.

A+

--
fmillox


"Millox Frédéric" a écrit :

Salut Sylo,

A priori, un code du style :

dsClone = dsOrigin.Clone
For Each row As Datarow in dsOrigin.Tables("NomDeTaDataTable").Select(....)
dsClone.Tables("NomDeTaDataTable").Rows.Add(row)
Next

doit marcher, après je ne l'ai jamais testé......

Pour ta question sur le service web, aucune idée.

A+

--
fmillox


"Sylo" a écrit :

> Bonjour,
>
> je dispose d'un dataset avec une datatable. En effectuant un select sur
> cette datatable, je voudrais rapidement mettre ces datarows dans un autre
> dataset de la même structure que le dataset dont elle sont issue.
> Comment faire cela rapidement.
>
> Seconde question. pourquoi ne puis je pas retourner une datarow à partir
> d'un service web
>
> Merci pour tous vos éclaircicement
> Sylo
>
>
>


Avatar
Sylo
Bonjour Frederic et merci

Toutefois, j'avais bien pensé à ce que tu propose mais cela ne fonctionne
pas car un datarow ne peut appartenir qu'à une seule table. J'obtiendrais
donc une erreur en voulant ajouter la row au dataset cloné car elle
appartient déjà à un dataset.
La solution serait donc de cloner la datarow mais impossible (pas de
méthode)
LA solution toute simple est de créer une nouvelle datarow dans le dataset
cloner et de remplir ces champs avec les valeurs de la row deu dataset de
base.
Mais je cherchais une méthode plus rapide
Merci tout de même
Sylo
"Millox Frédéric" a écrit dans le
message de news:
Salut Sylo,

A priori, un code du style :

dsClone = dsOrigin.Clone
For Each row As Datarow in
dsOrigin.Tables("NomDeTaDataTable").Select(....)
dsClone.Tables("NomDeTaDataTable").Rows.Add(row)
Next

doit marcher, après je ne l'ai jamais testé......

Pour ta question sur le service web, aucune idée.

A+

--
fmillox


"Sylo" a écrit :

Bonjour,

je dispose d'un dataset avec une datatable. En effectuant un select sur
cette datatable, je voudrais rapidement mettre ces datarows dans un autre
dataset de la même structure que le dataset dont elle sont issue.
Comment faire cela rapidement.

Seconde question. pourquoi ne puis je pas retourner une datarow à partir
d'un service web

Merci pour tous vos éclaircicement
Sylo







Avatar
Formentox
Il me semble qu'il existe une methode import dans le dataset qui permet de
faire ce que tu souhaites.
frederic

"Sylo" <devbnet[at]free.fr> a écrit dans le message de news:

Bonjour Frederic et merci

Toutefois, j'avais bien pensé à ce que tu propose mais cela ne fonctionne
pas car un datarow ne peut appartenir qu'à une seule table. J'obtiendrais
donc une erreur en voulant ajouter la row au dataset cloné car elle
appartient déjà à un dataset.
La solution serait donc de cloner la datarow mais impossible (pas de
méthode)
LA solution toute simple est de créer une nouvelle datarow dans le dataset
cloner et de remplir ces champs avec les valeurs de la row deu dataset de
base.
Mais je cherchais une méthode plus rapide
Merci tout de même
Sylo
"Millox Frédéric" a écrit dans le
message de news:
Salut Sylo,

A priori, un code du style :

dsClone = dsOrigin.Clone
For Each row As Datarow in
dsOrigin.Tables("NomDeTaDataTable").Select(....)
dsClone.Tables("NomDeTaDataTable").Rows.Add(row)
Next

doit marcher, après je ne l'ai jamais testé......

Pour ta question sur le service web, aucune idée.

A+

--
fmillox


"Sylo" a écrit :

Bonjour,

je dispose d'un dataset avec une datatable. En effectuant un select sur
cette datatable, je voudrais rapidement mettre ces datarows dans un
autre
dataset de la même structure que le dataset dont elle sont issue.
Comment faire cela rapidement.

Seconde question. pourquoi ne puis je pas retourner une datarow à partir
d'un service web

Merci pour tous vos éclaircicement
Sylo