Concaténer nom de variable [Résolu]

Signaler
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
-
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
-
Bonjour,


Je cherche a concaténer des noms de variables.  je m'explique.


J'ai 2 table A et B et une table C entre A et B , la table C contient les clé des deux autres table (idA et idB)


Dans mon application, je fais un select sur la table A qui me renvoie plusieurs enregistrement dans un datagrid que j'affiche.


Le focus est sur la premiere ligne, je recupere la valeur idA

Ensuite, je fais un deuxieme select sur la table C avec idA , ce qui me
renvoie 0 ou plusieurs enregistrements, je le met dans un dataset et
apres

je fais un select sur la table B avec une clause Where idB = val1 OR val2 OR val3 et j'affiche les résultats.


J'arrive a le faire pour un enregistrement mais j'aimerais l'automatiser , pour X enregistrement.

Je n'arrive pas a concaténer des noms de variables . ..


Merci de me transmettre si vous avez une idée car la . .  .

5 réponses

Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
Ca y est c'est résolu,


En fait je fais une premiere requete SELECT, et je compte le nombre de résultat .

Si ce nombre est > 0 alors je déclare une requete comme suit :

int n1=0;

int n2=this.dataset.tableInter.count ;

if (n2>0)

{

String uQuery "SELECT * FROM MATABLE WHERE ID '"+this.dataSet.MATABLEINTERMEDIAIRE[n1].ID + "'" ;

    While (n1<n2)

    {

       uQuery uQuery + " OR ID " + this.dataSet.MATABLEINTERMEDIAIRE[n1].ID ;

       n1++

    }

voila . . . et apres j'utilise un dataAdapter

this.oracleDATAAdapter.SelectCommand.commandText = uQuery;

puis apres j'utilise la methode Fill du dataAdapter pour remplir le DataSet.

Puis apres j'affiche les resultats du DataSet dans le DataGrid.


Voila.
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
ce que je fais moi :

je crée un tableau contenant ma liste de valeur... ensuite je fais string.Join(" OR ", monTableau)

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
je comprend pas exactement ta méthode, string.join("OR",montableau) ? ?

j'ai déja un tableau , en fait c'est mon dataset, qui contient deux
colonnes , l'une des colonnes represente la valeur que j'ai récup lors
du focus sur la ligne du premier datagrid et la deuxieme colonne
correspond aux valeurs que je veux récupérer afin de les mettre dans ma
clause where pour afficher la deuxieme table .


O final je dois avoir une requete SELECT avec une clause WHERE id = val1 OR val2 OR val3 ;


val1 val2 val3 correspond aux enregistrements retournés dans ma table intermédiaire .
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
oui justement...

tu stockes dans un tableau la liste des codes que tu as sélectionné est tu fais ceci :

"SELECT ... FROM ... WHERE ID in ('" + string.Join("','", monTableauDeCodes) + "')"

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
ok merci seb , dans ce cas comment faire un tableau ??

car mes valeurs sont dans un dataset , je peux les récupérer en faisant :

string val = this.dataSet.maTABLE[n1].ID;

mais sinon je vois pas