Problème pour passer un paramètre dans une requete

cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 - 23 févr. 2006 à 16:49
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 - 1 mars 2006 à 15:09
Bonjour à tous ,

Voilà j'ai un petit souci SQL si quelqu'un a déjà rencontré le problème
Je fais la requete suivante qui marche très bien (je récupère les deux lignes correspondant aux machines):

SELECT *
FROM dbo.MACHINE
WHERE (NO_MACHINE IN ('1' , '2'))

ensuite j'essaie de le faire par paramètre comme ceci:

SELECT *
FROM dbo.MACHINE
WHERE (NO_MACHINE IN (@nomachine))

avec comme paramètres : '1', '2' lorsque j'execute ma requete
et là ô surprise la requete ne me retourne rien!!

Vraiment je suis perdu, je pense que ça doit être une erreur de syntaxe je ne sais pas...
Merci de votre aide



Deluka.

5 réponses

Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
23 févr. 2006 à 18:31
Comment déclares-tu ta variable ?
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
24 févr. 2006 à 09:39
Salut ,

je ne la déclare pas je lance ma requete comme ça via enterprise manager de SQL server, puis il m'ouvre une boite de dialogue me demandant de rentrer les parametres pour @nomachine.
Là si je met 1 il me renvoi bien la ligne de la machine n°1 , si je met 2 pareillement etc...
mais si je met 1,2 il me renvoi pas les lignes des machines 1 et 2 alors que si je le met en dur dans la requete ça marche..

Merci



Deluka.
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
24 févr. 2006 à 09:42
Utilise plutot l'analyseur de requetes et fait ca :

DECLARE @nomachine as varchar

SET @nomachine = '1,2'

SELECT *
FROM dbo.MACHINE
WHERE NO_MACHINE IN (@nomachine) -- Pas besoin de parentheses dans le WHERE

pour voir ?
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
24 févr. 2006 à 10:37
ça n'a pas fonctionné : apparement dans l'analyseur de requête il ne comprend que le premier chiffre et me renvoi la ligne de la machine n°1 mais pas la ligne des machines 1 et 2...



Deluka.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
1 mars 2006 à 15:09
salut

je pense que le probleme et qu'il considere ta variable comme une seule occurence.


ainsi il cherche le numero de machine dans la liste :
'1','2'
et non dans la liste
'1'
'2'

il te fudrait passer par une table temporaire par exmple, ou trouver une autre astuce, mais cela depend de ce que tu veux faire au final.
0
Rejoignez-nous