Bonjour,

je souhaite exécuter une requête prenant en paramètre une date.
Ma requête est construite ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
__query.Append("   AND sel.sel_date BETWEEN TO_DATE('?','YYYYMMDD') AND ...
Le paramètre est passé ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
OleDbParameter[] paramList = new OleDbParameter[1];
paramList[0] = new OleDbParameter("@DDeb", ddeb.ToString("yyyyMMdd"));
ddeb étant une variable DateTime.

Si j'exécute ma requête ainsi, j'obtiens une erreur :
ORA-01841: (full) year must be between -4713 and +9999", and not be 0
En revanche, si je passe la valeur "en dur" dans le code, je n'ai aucun souci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
__query.Append("   AND sel.sel_date BETWEEN TO_DATE('20080601','YYYYMMDD') AND ...
En passant le paramètre ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
OleDbParameter[] paramList = new OleDbParameter[1];
paramList[0] = new OleDbParameter("@DDeb", "20080601");
l'erreur persiste.

Donc visiblement, le souci vient du paramètre... mais je suis incapable de voir d'où peut venir le problème. Quelqu'un aurait une idée ?

Merci d'avance !

Alban