[SQL/ASP] pb sur requete

pb sur requete [SQL/ASP] - ASP - Programmation

Marsh Posté le 30-05-2003 à 16:32:28    

Salut à tous,
 
je cherche à faire une recherche dans ma bdd. Le pb c'est que dans mon critere de recherche j'ai ce caractère: _ . Evidemment c'est un caractere réservé pour la fonction LIKE.
 
J'ai fais une recherche et j'ai vu que l'on pouvais fixer ce caractere avec la clause escape.
 
Mais rien à faire ma requete ne veut pas passer...
J'ai un retour navigateur qui me dit qu'il y à une erreur de syntaxe...
 
Help me.
 
Voici ma requete:
 
SQL="SELECT COUNT(id_prod) FROM produits  WHERE Id_chemin Like ' " & id_chemin &"$_%' escape '$' "
 
Merci pour votre aide...;)


Message édité par DJERO le 30-05-2003 à 16:53:34
Reply

Marsh Posté le 30-05-2003 à 16:32:28   

Reply

Marsh Posté le 30-05-2003 à 19:26:25    

-- nan, j'ai rien dit :D --


Message édité par MagicBuzz le 30-05-2003 à 19:26:51
Reply

Marsh Posté le 30-05-2003 à 19:32:22    

T'es sûr que "_" est réservé :??:

Reply

Marsh Posté le 30-05-2003 à 19:33:10    

Et que la fonction escape existe sous Access ???
 
Je ne trouve rien à ce propos ni dans l'aide d'access, ni dans msdn library :heink:
 
Essaie toujours :
 
SQL="SELECT COUNT(id_prod) FROM produits  WHERE Id_chemin Like '" & id_chemin &"$_%' || escape('$')"
 
PS: ne met pas de " " entre le " ' " et la fermeture de la chaîne, sinon ça va rien retourner, à moins que la chapine commence par un espace dans la base :heink:
 
Et pourquoi tu fais un escapde de "$" si c'est "_" que tu veux échapper ?


Message édité par MagicBuzz le 30-05-2003 à 19:35:32
Reply

Marsh Posté le 01-06-2003 à 09:27:36    

Par ce que comme j'utilise un like, le caractere _ est considéré comme pouvant remplacer n'importe qu'elle lettre dans le critére de recherche...
 
Bon apres test, voila ce que me retourne le navigateur:
 

Code :
  1. Type d'erreur :
  2. Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
  3. [Microsoft][Pilote ODBC Microsoft Access] Utilisation incorrecte des barres verticales dans l'expression 'Id_chemin Like '2$_%' || escape('$')'.


Message édité par DJERO le 01-06-2003 à 09:52:18
Reply

Marsh Posté le 01-06-2003 à 14:02:36    

Je sais pas si c ça mais le caractère "_" dans du code VBScript indique une continuité a la ligne suivante.
Essaie de construire ta chaine en utilisant la fonction chr() avec le code ascii de _ qui est 95, pour générer le caractère dans ta variable SQL.
 
 

Reply

Marsh Posté le 02-06-2003 à 01:33:19    

Djero : poste les critères exacts de ta chaîne (le pattern que tu veux, et ce que c'est censé faire).
 
Ca sera plus facile pour nous, je capte pas cette histoire de "$".
 
Kfman > Je ne pense pas, le "_" dans une chaîne de caractère est tout à fait normal, VBS devrait rien dire.
 
SQL="SELECT COUNT(id_prod) FROM produits  WHERE Id_chemin Like '" & id_chemin & "$' || escape('_') || '%'"
 
Sinon, voilà, je pense que ça c'est censé marcher.
Par contre, dis-moi si c'est vraiment normal qu'il y ait un $ avant.

Reply

Marsh Posté le 02-06-2003 à 16:13:40    

En faite, le '$' je pensais pouvoir me servir du $ (ou d'un autre symbole) afin d'identifier mon caratere pour 'escape'.
 
Pour ce qui est de la requete j'ai trouvé ce week end une autre métode afin de contourner le pb:
 

Code :
  1. SQL="SELECT COUNT(id_prod) FROM produits WHERE Left(Id_chemin,'"&recup2&"')= '"&Id_chemin2&"_' OR Left(Id_chemin,'"&recup2&"')= '"&Id_chemin2&" '"


 
Je vais tout de même essayer la syntaxe que tu me propose :)
 
Je vous tiens ou courrant ;)
Merci bcp pour votre aide

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed