/// ///////////////////////////////////////////// ///<summary> ///retourne la requête formattée pour SQL. ///</summary> private string GetTexteRequeteFinaleSql(C2iRequete requete, IElementAVariablesDynamiquesAvecContexteDonnee elementAVariables, ref object[] valeursParametres, IDatabaseConnexion database) { ArrayList lstValeursParametres = new ArrayList(); string strTexte = requete.TexteRequete; int nPos = strTexte.IndexOf("[@"); int nLastPos = nPos; while (nPos > 0) { //Cherche le nom de la variable string strNomVar = ""; nPos += 2; while (nPos < strTexte.Length && strTexte[nPos] != ']') { strNomVar += strTexte[nPos]; nPos++; } string strIdVar = ""; foreach (CVariableDynamique variable in elementAVariables.ListeVariables) { if (strNomVar.ToUpper() == variable.Nom.ToUpper()) { strIdVar = variable.IdVariable; break; } } if (strIdVar != "") { object val = elementAVariables.GetValeurChamp(strIdVar); lstValeursParametres.Add(val); strTexte = strTexte.Replace("[@" + strNomVar + "]", database.GetNomParametre(lstValeursParametres.Count.ToString())); } if (nLastPos + 1 < strTexte.Length) { nPos = strTexte.IndexOf("[@", nLastPos + 1); nLastPos = nPos; } else { nPos = -1; } } valeursParametres = (object[])lstValeursParametres.ToArray(typeof(object)); return(strTexte); }