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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !

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