problème de syntaxe avec une requête SQL

problème de syntaxe avec une requête SQL - ASP - Programmation

Marsh Posté le 02-12-2004 à 10:27:38    

Bonjour,  
 
J'execute cet requête dans ma page en ASP et il me renvois une erreur de syntaxe (opérateur absent) :  
 

Code :
  1. SELECT * FROM Enregistrements WHERE ID_Prozess = 276 OR ID_Prozess = 276 OR ID_Prozess = 268 OR ID_Prozess = 286 And EnregistrementDatum Betwen 30.11.2004 And 01.12.2004 ORDER BY EnregistrementDatum DESC


 
Pouvez vous m'aider :cry: ?  
 
Merci d'avance et bonne journée

Reply

Marsh Posté le 02-12-2004 à 10:27:38   

Reply

Marsh Posté le 02-12-2004 à 11:55:31    

déjà mettre entre ' ' les valeurs ID_Prozess = '276' etc...
pareil pour les dates et je pencherai sur between plutôt que betwen... déjà avec ça on y verra plus clair
 
edit : j'oubliais... c la mauvaise cat' : c pas un pb d'asp là mais plus de sql


Message édité par titione le 02-12-2004 à 11:56:04
Reply

Marsh Posté le 02-12-2004 à 11:56:21    

essai avec des ' pour tes valeurs

Reply

Marsh Posté le 02-12-2004 à 13:34:28    

flyer-flo a écrit :

Bonjour,  
 
J'execute cet requête dans ma page en ASP et il me renvois une erreur de syntaxe (opérateur absent) :  
 

Code :
  1. SELECT * FROM Enregistrements WHERE ID_Prozess = 276 OR ID_Prozess = 276 OR ID_Prozess = 268 OR ID_Prozess = 286 And EnregistrementDatum Betwen 30.11.2004 And 01.12.2004 ORDER BY EnregistrementDatum DESC


 
Pouvez vous m'aider :cry: ?  
 
Merci d'avance et bonne journée


 
tu prends ta requete et tu essaies avec access le mode requete en creation et tu verras si ta synthaxe est correcte (si c access). Tu peux faire la meme chose si c SQL Serveur.  
A vu de nez :
ID_Prozess sont des entiers, vu que tu n'as pas mis de ' (a verifier..)
Si enregistrementDatum est une date, ca marche pas comme ca pour tester les dates ... verifies tes formats ...
 
dans tous les cas, testes ta requete ds la bdd que tu utilises, ca t'eclairera sur la synthaxe a adopter, et apres tu adaptes ton code en conséquence.
 
:hello:

Reply

Marsh Posté le 06-12-2004 à 11:23:21    

salut
mais il a raison il ne connais pas votre BETWEN Mais in connais une certaine BETEEN (avec 2 e)
merci de ne pas me remercier

Reply

Marsh Posté le 06-12-2004 à 11:31:46    

BETWEEN !!! pas beteen ni betwen

Reply

Marsh Posté le 06-12-2004 à 12:08:34    

en plus on n'a jamais dit betwen... on a toujours dit between... si en plus de la prog, tu as du mal avec l'anglais et la lecture, ça va commencer à être critique  :D  
ça donne quoi maintenant ?


Message édité par titione le 06-12-2004 à 12:08:43
Reply

Marsh Posté le 07-12-2004 à 09:37:02    

je suis desolet pour la faute de frappe
et je valide, c'est bien BETWEEN  
merci

Reply

Marsh Posté le 07-12-2004 à 11:50:31    

déjà, ta série de OR, tu les mets entre parenthèses, ou alors tu fait un "IN". En tout cas, dans l'état actuel des choses, ton BETWEEN ne sert à rien (révise ton algèbre de bool et les priorité : le AND est toujours prioritaire sur le OR, donc les premiers OR ne sont pas impactés par le AND ;)
 
Pour les ID, pas besoin de les mettre entre ', puisque ça doit être des nombres.
 
Sinon, une date, ça s'écrit pas comme ça. Là, t'as écrit des nombres décimaux avec deux décimales, donc ça ne peut que planter.
 
#dd/mm/yyyy# si ta base est paramètrage internationnal, et #mm/dd/yyyy# si elle est en US.
 
Perso, je préfère le ' au #, car il a l'avantage de marcher avec tous les SGBD.

Reply

Marsh Posté le 07-12-2004 à 11:50:54    

PS: Et c'est un problème de "SGBD/SQL" pas d'"ASP"

Reply

Sujets relatifs:

Leave a Replay

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