PB Requete SQL :(

funemul Messages postés 16 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 10 février 2003 - 22 janv. 2003 à 10:51
vanden66 Messages postés 1 Date d'inscription lundi 27 novembre 2000 Statut Membre Dernière intervention 14 février 2006 - 14 févr. 2006 à 12:10
Voila le probleme :
J'utilise un Tquery et ma requete est la suivante :

SELECT * FROM annee_2003 WHERE DATE_DU = 01-12-2003

Et la requete ne me selectionne aucun enregistrement :( (le champ existe ;) )

En fait malgré ts les sujets qui sy rapportent, j ai un gros probleme avec la comparaison de date ds les requetes ((

Cette requete c juste pour tester, en fait le but est de faire un requete suivant le mois de la date.

Donc j ai fait ca :

SELECT * FROM annee_2003 WHERE EXTRACT (MONTH FROM DATE_DU) = 1

... et la supermessage d erreur La table est en lecture seule :( Je precise que ce n est pas du a la table etant donné que les requetes de base select fonctionnent

PLZ HELP c assez urgent merci !!!!

6 réponses

cs_jfg Messages postés 54 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 24 août 2004
22 janv. 2003 à 11:28
Bonjour,
essayer de mettre ta date entre guillemets

'10/01/03'
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
22 janv. 2003 à 12:24
SQL reconnait les dates quand :
1- elles sont entourées de quotes (simples ou doubles)
2- quand elles ont au format MM-DD-YYYY, c'est à dire moi, jour et année (style anglo-saxon).

May Delphi be with you
0
funemul Messages postés 16 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 10 février 2003
22 janv. 2003 à 13:22
Merci de votre aide mais ca ne marche toujours pas,quand je mets des cotes il me met n erreur sql generale, je pense qu'il n'en faut pas. De mm Delphiprog ma date est deja au format MM-DD-YYYY ;) et dautres formats ne fonctonnent pas non plus :(

Et pour le extract, savez vous pkoi il me renvoie cette erreur ?

En attente d aide ...
0
funemul Messages postés 16 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 10 février 2003
22 janv. 2003 à 15:43
Personne ne saurait m aider :( ???
0

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

Posez votre question
funemul Messages postés 16 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 10 février 2003
24 janv. 2003 à 09:23
Voila si ca pet en aider qquns, la requete est la suivante:

stat.Close;
stat.SQL.Clear;
stat.SQL.add ('SELECT DATE_DU, DATE_RECUE, annee_2003."DATE", DEST, EXTRACT (MONTH FROM DATE_DU) FROM annee_2003 WHERE (AGENCE= :var1) AND (EXTRACT(MONTH FROM DATE_DU)=:var2)');
stat.ParamByName('var1').AsString:=ag;
stat.ParamByName('var2').AsFloat:=mois;
stat.ExecSQL;
stat.Active := true;
0
vanden66 Messages postés 1 Date d'inscription lundi 27 novembre 2000 Statut Membre Dernière intervention 14 février 2006
14 févr. 2006 à 12:10
Je sais pas si tu as résolu ton problème mais le format de date reconnu par SQL est yyyy-mm-dd (indépendant de tes paramètres régionaux du panneau de configuration) :

TaRequete.Close;
TaRequete.SQL.clear;
TaRequete.SQL.Add('SELECT * FROM annee_2003 where DATE_DU="2006-01-30" ');
TaRequete.open;

Tu peux aussi avoir un problème par rapport au format du champ dans ta base de données.
Par exemple si ton champ de base de données est au format DATETIME et non DATE, ta requète ne te renverra que les enregistrements
avec la date demandée mais seulement celles avec une date nulle (00:00:00).
En effet, quand on teste un champ DATETIME, SQL teste aussi l'heure:

Requete Enregistrement de la base de données

'SELECT * FROM annee_2003 where DATE_DU="2006-01-30"' "2006-01-30" (DATE) -->retour OK
'SELECT * FROM annee_2003 where DATE_DU="2006-01-30"' "2006-01-30 00:00:00" (DATETIME) -->retour OK
'SELECT * FROM annee_2003 where DATE_DU="2006-01-30"' "2006-01-30 12:35:00" (DATETIME) -->pas de retour car heure <>

Tu peux aussi extraire seulement la date par :

TaRequete.SQL.Add('SELECT * FROM annee_2003 where date(DATE_DU)="2006-01-30"'

Voilà
0
Rejoignez-nous