PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Requête ODBC
Requête ODBC
Débuté par Yvan, 01 sep. 2006 12:11 - 12 réponses
Posté le 01 septembre 2006 - 12:11
salut à tous,

je cherche à faire une requête sur une base ODBC.
Elle fonctionne très, sauf quand je met une condition sur une date.

J'ai le message suivant :
[Simba][Simba ODBC Driver]Invalid date, time or timestamp value.

J'ai essayé :
DATE='20060901'
DATE='2006%'
mais toujour pareil

si quelqu'un à une piste, merci

Yvan
Posté le 01 septembre 2006 - 12:24
Bonjour,


Voila peut etre une solution pour vous, si vous voulez la date du jour personnellement j'ai reussi de cette facon.

"Date est une chaîne = DateVersChaine(DateSys())"

Et je pense que cette fonction peut etre utiliser pour toute date
Posté le 01 septembre 2006 - 12:25
Bonjour,
Il faut regarder le format de date utilisé par la base de donnée. Ca peut-être 20060901, 2006-09-01,09-01-2006,01-09-2006... Un vrai jeu de piste !

Frédéric.
Posté le 01 septembre 2006 - 14:23
Meme reponse :

ca depend du format de ta base...


En SQL Server ca marche avec 'MM/JJ/AAAA HH:MM:SS'
Posté le 01 septembre 2006 - 14:23
merci pour vos réponses, mais malheuresement ça fonctionne toujour pas.


SI PAS SQLExec("SELECT * FROM F_DOCENTETE WHERE
DO_DATE>='20060101'","REQ1") ALORS


dans la base de données c'est bien 20060101 le format.
sans la condition ça passe, et j'arrive à lire la valeur de la date.

Yvan
Posté le 01 septembre 2006 - 15:51
Faudrait vraiment que tu nous donne ta base de données !
Qu est ce que c est donc ?
Posté le 01 septembre 2006 - 17:05
Pour info, j'ai testé l'accès ODBC à une base progress, et le format de date utilisé dans les requêtes n'était pas le même que celui utilisé dans les programmes écrits en Progress. J'ai dû testé tout les formats imaginables jusqu'à trouver le bon.

Frédéric.
Posté le 01 septembre 2006 - 17:06
Le mot "DATE' n'est-il pas réservé par le système, puisqu'il peu s'agir d'un type de donnée!


sinon, as-tu essayé :
WHERE DATE LIKE '2006%'
Posté le 01 septembre 2006 - 18:05
Bonjour,
Pour les princiaples BD connues faire un petit tour chez : http://sql.developpez.com/
beaucoup de renseignements. la norme SQL 2 donne le format "AAAA-MM-JJ" ou "AAAA-MM-JJ hh:mm:ss.nnn" (cf http://sql.developpez.com/gestiontemps/)
salutations
Posté le 02 septembre 2006 - 10:31
Sur une base Oracle, on utilise les fonctions to_char ou to_date !
e.g. where date < to_date('20060101','YYYYMMDD')
where to_char(date,'YYYYMMDD') <= '20060101'
Posté le 03 septembre 2006 - 11:36
"Luc Matelart" <guest@newsgroup.fr> a écrit dans le message de news:
44f89d72$1@news.pcsoft.fr...


Sur une base Oracle, on utilise les fonctions to_char ou to_date !


sauf si ton NLS_DATE_FORMAT est déjà défini... dans ce cas là pas besoin de
faire de cast...

e.g. where date < to_date('20060101','YYYYMMDD')
where to_char(date,'YYYYMMDD') <= '20060101'


--
Emmanuel Lecoester
Posté le 03 septembre 2006 - 11:36
"Yvan" <geno@3net-system.com> a écrit dans le message de news:
44f7ea41$1@news.pcsoft.fr...

salut à tous,

je cherche à faire une requête sur une base ODBC.
Elle fonctionne très, sauf quand je met une condition sur une date.

J'ai le message suivant :
[Simba][Simba ODBC Driver]Invalid date, time or timestamp value.

J'ai essayé :
DATE='20060901'
DATE='2006%'
mais toujour pareil

si quelqu'un à une piste, merci


Essaie avec :
Date : 2006-09-01
Heure : 18:30:00

C'est ce que j'ai trouvé avec google "odbc simba date format"

C'est un problème du driver ODBC pas de WinDev. Tu trouveras mieux ton
bonheur sur la ML ou forum des produits simba.

--
Emmanuel Lecoester
Posté le 28 décembre 2006 - 22:20
OHHHH Merci

J'AI PASSE TOUT L'APRES-MIDI DESSUS.

Et là "miracle!" avec AAAA-MM-JJ

merci encore

lalalalalala