Bonjour à nouveau !!

Encore une petite question delphi :

J'ai deux champs TmaskEdit où l'utilisateur saisit une date de départ et une date de retour...
Malheureusement si je prend un masque de saisie Date Longue jj/mm/aaaa cela me met une erreur : "ORA 01858 caractère non numérique trouvé à la place d'un caractère numérique" au moment de mon ajout :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
    oqAjoutSav.Close;
    oqAjoutSav.SQL.Clear;                                                                                             // SEQ_NUMSUIVI permet de récupérer le numéro de suivi suivant relatif à la table SUIVISAV
    // on ajoute un SAV                                                                                              // mais possible grâce à une séquence Oracle SEQ_NUMSUIVI qui s'auto-incrémente
    oqAjoutSav.SQL.Add('INSERT INTO suivisav (numsuivi, numrma, datedepart, dateretour, nomscan, commentaire) VALUES (SEQ_NUMSUIVI.NEXTVAL, :numerorma, :datededepart, :datederetour, :lenomscan, :com)');
    oqAjoutSav.DeclareAndSet('numerorma', otString, uppercase(zsNumRma.Text));
    oqAjoutSav.DeclareAndSet('datededepart', otString, zsDateDep.Text);
    oqAjoutSav.DeclareAndSet('datederetour', otString, zsDateRetour.Text);
    oqAjoutSav.DeclareAndSet('lenomscan', otString, nomDuScan);
    oqAjoutSav.DeclareAndSet('com', otString, zsCommentaires.Text);
    oqAjoutSav.Execute;
    oqAjoutSav.Session.Commit;
Cependant cela me permettrait d'empêcher l'utilisateur de saisie des caractères non numériques.
Et deuxième partie de mon problème je veux pouvoir comparer deux dates pour alerter l'utilisateur si la date de retour est inférieure ou égale à la date de départ :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
    testDates := CompareText(zsDatedep.Text, zsDateRetour.Text);
    if (testDates > 0) or (testDates = 0) then
      begin
      ShowMessage('Date de retour inférieure ou égale à la date de départ');
      erreurDate := True;
      end
Cependant ce code ne fonctionne pas cela fait qu'une comparaison jours donc si
Date Départ = 15/01/2011
Date Retour = 01/02/2011
Cela me déclenche le message d'erreur via le ShowMessage...

Help please je sais plus quoi faire après avoir démonter et remonter plusieurs fois mon code..

Merci d'avance