Requetes paramétrés avec Date et BETWEEN
Bonjour tout le monde , je viens de faire une requette paramétré qui contient la date mais à l'execution j'ai un problem , une exception se déclanche voila les détails:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
string req = "SELECT * FROM conge WHERE (:dateD BETWEEN conge.datedebut AND conge.datefin) OR (:dateF between conge.datedebut AND conge.datefin) AND conge.matricule_employe="+matricule ;
// string req = "SELECT * FROM conge WHERE ('"+DateD.ToString ()+"' BETWEEN conge.datedebut AND conge.datefin) OR ('"+DateF.ToString ()+"' between conge.datedebut AND conge.datefin) AND conge.matricule_employe=" + matricule;
OracleCommand oraCmd = new OracleCommand ( req,oracon);
OracleParameter paramDDebut = new OracleParameter();
paramDDebut.OracleType = OracleType.DateTime;
paramDDebut.ParameterName = ":dateD";
paramDDebut.Value = DateD.ToString();//'ai déja esssayé sa et c'est le meme problem==>(DateTime)DateTime.Parse(DateD).Date;
OracleParameter paramDFin = new OracleParameter();
paramDDebut.OracleType = OracleType.DateTime;
paramDDebut.ParameterName = ":dateF";
paramDDebut.Value = DateF.ToString();//J'ai déja esssayé sa et c'est le meme problem==>(DateTime)DateTime.Parse(DateF);
oraCmd.Parameters.Add(paramDDebut);
oraCmd.Parameters.Add(paramDFin);
WebMsgBox.Show(req);
OracleDataReader rs = oraCmd.ExecuteReader(); |
pour l'exception la voila !
Citation:
System.Data.OracleClient.OracleException: ORA-01008: Toutes les variables ne sont pas liées
à System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
à System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
à System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, ArrayList& resultParameterOrdinals)
à System.Data.OracleClient.OracleCommand.ExecuteReader(CommandBehavior behavior)
à System.Data.OracleClient.OracleCommand.ExecuteReader()
à DateConge.Page_Load(Object sender, EventArgs e)
Vraiment j'ai besoin d'aide car , sans les requettes paramétres ( en concaténant des chaines de caractéres tous marche bien !!!)
Merci