Concaténer nom de variable [Résolu]

Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Dernière intervention
11 mai 2007
- 28 sept. 2006 à 11:19 - Dernière réponse :
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Dernière intervention
11 mai 2007
- 28 sept. 2006 à 14:12
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 . .  .
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Dernière intervention
11 mai 2007
28 sept. 2006 à 14:12
3
Merci
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.

Merci cs_brute 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de cs_brute
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
28 sept. 2006 à 11:39
0
Merci
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#]
Commenter la réponse de sebmafate
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Dernière intervention
11 mai 2007
28 sept. 2006 à 11:47
0
Merci
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 .
Commenter la réponse de cs_brute
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
28 sept. 2006 à 11:51
0
Merci
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#]
Commenter la réponse de sebmafate
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Dernière intervention
11 mai 2007
28 sept. 2006 à 11:56
0
Merci
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
Commenter la réponse de cs_brute

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.