Bonjour,

Pierre Wenger a écrit le 14/03/05 14:08 :

Je n'arrive pas à écrire une requête SQL avec un nombre fixe dans le WHERE :

Passe en posant une question :
SELECT norapport, daterappor FROM rapport WHERE daterappor=? ORDER BY norapport 
DESC

Ne passe pas quelques soient les guillemets utilisés (même sans guillemets, 
d'ailleurs) :
SELECT norapport, daterappor FROM rapport WHERE daterappor="36671" ORDER BY 
norapport DESC

Je ne comprends pas pourquoi.

La base de donnée est une Foxpro avec le driver ODBC idoine.

Je reçois au choix selon la syntaxe utilisée 2 types d'erreurs :
- Opérateur et opérande incompatibles
- SQL - colonne '36671' introuvable

Le type de donnée est date, mais en utilisant la requête qui marche (avec le ?, donc), on peut taper 36671 ou 25.05.2000 pour avoir une réponse. J'en ai déduit qu'il fallait mettre le numéro de série du jour ou sa date, mais ça ne marche pas si je le mets directement dans le requête.


Pour connaître la syntaxe à utiliser pour un champ de type date, le plus simple est de passer en mode ébauche saisir une date et repasser en mode sql pour voire la syntaxe exacte.

Avec MySQL, ça donne une syntaxe du genre :
->  `DelaiLiv` = {D '2004-03-23' }


En espérant avoir aidé.

Tony


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Répondre à