[Delphi/SQL] Big probleme de comparaisons de date en SQL-> access :(

Big probleme de comparaisons de date en SQL-> access :( [Delphi/SQL] - Programmation

Marsh Posté le 05-01-2002 à 11:06:09    

Shalom !
 
Donc, j'ai un gros probleme sur ce coup la...
 
J'ai une BDD sous ACESS2000 a laquelle j'accede via ODBC qui enregistre la date d'une  plongee par exemple...
 
Pour ajouter une date, vizarrement j'ai pas eu de probleme...  
 

Code :
  1. plongees.FieldValues['DatePlongee']:= DateToStr(CreerPlongee.Dateplongee.Date);


 
Marce parfaitement.
 
Mais quand je veux faire une requete (je n'ai laissé que le champ posant probleme ici) de ce style, ca ne passe pas :
 

Code :
  1. Requete1.SQL.Text := format ('Select * from bateaux where N°Bateau not in (select N°Bateau from plongees where ( plongees.Dateplongee = %s ) ) ',[ DateToStr(Dateplongee.Date)]);


 
La requete se fait bien sur, mais le résultat n'est jamais correct (en gros, meme si les dates correspondent, pour lui, ca ne correspond pas... )
 
Vous avez une idée ?
 
j'ai essayé en rajoutant des # autour, mais ca a rien changé, a part une belle erreur...
 
merci de votre aide !

 

[edtdd]--Message édité par Tetedeiench--[/edtdd]


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 05-01-2002 à 11:06:09   

Reply

Marsh Posté le 05-01-2002 à 11:53:59    

Dateplongee C quoi ? (quel composant ?)
idem pour plongees ?
(en debug regarde la valeure de DateToStr(Dateplongee.Date)
elles sont en quel format T dates ?
T sur que C pas ta requete qui fait pas ce que tu veux ?


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 05-01-2002 à 12:00:26    

Dateplongee C un TdateTimePicker
 
plongees C ma table ...
 
la valeur de dateToStr(Dateplongee.date) est '11/01/2002'
 
Le format est le bon (j'ai regardé sous access, il est sous forme jj/mm/aaaa ... )
 
Ma requete, je veux juste qu'elle me renvoie tous les bateaux non pris dans une plongee a une date précise...
 
En gros, qu'elle vire de la liste des bateaux affichés ceux deja pris le 11/01/2002 par exemple...
 
la y a beau avoir l'enregistrement adequat (un bateau pris le 11/01/2002), ca me l'affiche quand meme...

 

[edtdd]--Message édité par Tetedeiench--[/edtdd]


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 05-01-2002 à 12:48:54    

essaye :
Requete1.SQL.Text := 'Select * from bateaux where N°Bateau not in (select N°Bateau from plongees where ( plongees.Dateplongee = :' + DateToStr(Dateplongee.Date) + ';)';
 
regarde l'aide de property Params[Index: Word]TParams;

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 05-01-2002 à 12:53:05    

Erreur :  
 
Bateau: field '11/01/2002' not found ...
 
J'ai compris ce qu'était une requete paramétrée mais je ne sais pas l'utiliser :(


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 05-01-2002 à 12:56:12    

Requete1.SQL.Clear;
Requete1.SQL.Add('Select * from bateaux where N°Bateau not in (select N°Bateau from plongees where ( plongees.Dateplongee = :Dateplongee)';  
Requete1.Params[0].AsString := DateToStr(Dateplongee.Date) ;
Requete1.ExecSQL;
 
Pas testé fait ici (trés longtemps que pas BD avec Delphi)
 
edit : putain de smiley de merde  :D à remplacé par : D sans espace

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 05-01-2002 à 12:59:58    

Code :
  1. Requete1.SQL.Add('Select * from bateaux where N°Bateau not in (select N°Bateau from plongees where ( plongees.Dateplongee = :Dateplonge ))');
  2. Requete1.Params[0].AsString := DateToStr(Dateplongee.Date) ;


 
[SDF]Poire ... je t'aime :love:
 
3 ans que je bloquais sur ce putain de truc !
 
Exactement 24 heures ...
 
Putain, je t'aime :love:
 
Pile poil :D
 
je suppose que pour le temps, il me suffit de faire la meme chose avec TimeToStr :D
 
En +, j'ai compris comment ca marchais les requetes paramétrées !
 
Merci, merci, merci, remerci, encore merci, toujours merci !
 
PS : t'inquiète pour le smiley, pour retoper  le code, j'édite tjs le message du gars me le filant pour ne pas passer apr m'interprétation du forum :D )

 

[edtdd]--Message édité par Tetedeiench--[/edtdd]


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 05-01-2002 à 13:00:01    

Si dans ta BD Dateplongee C une date tu peux peut être faire :
Requete1.Params[0].AsDate := Dateplongee.Date;


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 05-01-2002 à 13:01:01    

[SDF]Poire a écrit a écrit :

Si dans ta BD Dateplongee C une date tu peux peut être faire :
Requete1.Params[0].AsDate := Dateplongee.Date;  




je teste de suite !


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 05-01-2002 à 13:01:12    

Tetedeiench a écrit a écrit :

Code :
  1. Requete1.SQL.Add('Select * from bateaux where N°Bateau not in (select N°Bateau from plongees where ( plongees.Dateplongee = :Dateplonge ))');
  2. Requete1.Params[0].AsString := DateToStr(Dateplongee.Date) ;


 
[SDF]Poire ... je t'aime :love:
 
3 ans que je bloquais sur ce putain de truc !
 
Exactement 24 heures ...
 
Putain, je t'aime :love:
 
Pile poil :D
 
je suppose que pour le temps, il me suffit de faire la meme chose avec TimeToStr :D
 
En +, j'ai compris comment ca marchais les requetes paramétrées !
 
Merci, merci, merci, remerci, encore merci, toujours merci !  




De rien
Bouquin + Delphi lancé -> aucun mérite
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 05-01-2002 à 13:01:12   

Reply

Marsh Posté le 05-01-2002 à 13:01:51    

Ca passe pas mais C pas grave, en passant par le str ca amrche nickel :love:
 
Merci :love:


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 05-01-2002 à 13:02:53    

Tetedeiench a écrit a écrit :

Ca passe pas mais C pas grave, en passant par le str ca amrche nickel :love:
 
Merci :love:  




C mieux  
Requete1.Params[0].AsDate := Dateplongee.Date;  
si ça passe ça fait une conversion en -


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 05-01-2002 à 13:05:05    

Non malheureusement, ca ne passe pas ... je viens de retenter ...
 
"format de date invalide (null) "...
 
Mais m'en fiche de la conversion, tu peux pas savoir :D
 
Au niveau ou j'en suis, C franchement pas grave !
 
Le principal, C que la requete marche ! :)


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 05-01-2002 à 13:05:53    

[SDF]Poire a écrit a écrit :

 
edit : putain de smiley de merde  :D à remplacé par : D sans espace  




 
si tu avais mis := au lieu de =: ça aurait pas fait de smiley :p


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-01-2002 à 13:07:15    

antp a écrit a écrit :

 
 
si tu avais mis := au lieu de =: ça aurait pas fait de smiley :p  




oui mais C = : qu'il faut et c : D qui à fait le smiley


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 05-01-2002 à 13:07:53    

Tetedeiench a écrit a écrit :

Non malheureusement, ca ne passe pas ... je viens de retenter ...
 
"format de date invalide (null) "...
 
Mais m'en fiche de la conversion, tu peux pas savoir :D
 
Au niveau ou j'en suis, C franchement pas grave !
 
Le principal, C que la requete marche ! :)  




 :D


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 05-01-2002 à 13:08:59    

antp a écrit a écrit :

 
 
si tu avais mis := au lieu de =: ça aurait pas fait de smiley :p  




 
Ben vi mais comme C une requete parametrée et que le parametre est de la forme :gnagna ben...
 
En tout cas, je vais faire que des requetes paramétrés maintenant que j'ai compris comment ca amrchais !  
 
Ca rulez !
 
Ca prends juste les params dans l'ordre, les réutilise dans la requete si le nom est le meme, et les colle dans un tableau qu'il suffit de remplir a la fin avec les bon types et rulez !
 
Un format simplifié somme toute ! :D

 

[edtdd]--Message édité par Tetedeiench--[/edtdd]


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 05-01-2002 à 13:17:37    

Tetedeiench a écrit a écrit :

 
Ben vi mais comme C une requete parametrée et que le parametre est de la forme :gnagna ben...




 
oups j'avais pas vu que c'était dans la requête, je croyais que c'était une assignation.
 
c'est marrant je connaissais pas ce truc de params pour la requête, c'est pas mal...

 

[edtdd]--Message édité par antp--[/edtdd]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-01-2002 à 13:19:44    

antp a écrit a écrit :

 
c'est marrant je connaissais pas ce truc de params pour la requête, c'est pas mal...  
 




Beh moi non + en fait.... Mais Dick LANTIM il connaissait lui  :D et y a un exemple dans la doc donc ça a pas été trop dur.... :sol:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 05-01-2002 à 13:19:59    

Moi j'avais vu sur un cours trouvé sur le net, mais je savais pas assigner la valeur au paramètre... j'avais pas trouvé (dans les propriétés si, mais en dynamique non...)
 
Ca rulez :D


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Sujets relatifs:

Leave a Replay

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