Big probleme de comparaisons de date en SQL-> access :( [Delphi/SQL] - Programmation
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 ?
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]
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]
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
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 = ateplongee)';
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 à remplacé par : D sans espace
[edtdd]--Message édité par [SDF]Poire--[/edtdd]
Marsh Posté le 05-01-2002 à 12:59:58
Code :
|
[SDF]Poire ... je t'aime
3 ans que je bloquais sur ce putain de truc !
Exactement 24 heures ...
Putain, je t'aime
Pile poil
je suppose que pour le temps, il me suffit de faire la meme chose avec TimeToStr
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 )
[edtdd]--Message édité par Tetedeiench--[/edtdd]
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;
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 !
Marsh Posté le 05-01-2002 à 13:01:12
Tetedeiench a écrit a écrit :
|
De rien
Bouquin + Delphi lancé -> aucun mérite
Marsh Posté le 05-01-2002 à 13:01:51
Ca passe pas mais C pas grave, en passant par le str ca amrche nickel
Merci
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 Merci |
C mieux
Requete1.Params[0].AsDate := Dateplongee.Date;
si ça passe ça fait une conversion en -
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
Au niveau ou j'en suis, C franchement pas grave !
Le principal, C que la requete marche !
Marsh Posté le 05-01-2002 à 13:05:53
[SDF]Poire a écrit a écrit : edit : putain de smiley de merde à remplacé par : D sans espace |
si tu avais mis := au lieu de =: ça aurait pas fait de smiley
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 |
oui mais C = : qu'il faut et c : D qui à fait le smiley
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 Au niveau ou j'en suis, C franchement pas grave ! Le principal, C que la requete marche ! |
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 |
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 !
[edtdd]--Message édité par Tetedeiench--[/edtdd]
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]
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 et y a un exemple dans la doc donc ça a pas été trop dur....
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
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...
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 :
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 !