Bonjour tout le monde,
J'ai une classe en c# gérant l'accès à une BDD Oracle.
Dans cette classe, j'ai développé une fonctin me permettant de construire une requête avec des paramètres. les paramètres sont stockées dans une table de hachage. voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
		protected override string SelLikeQuery(string query, Hashtable hash, string groupBy)
		{
			string where = " WHERE ";
			IDictionaryEnumerator en = hash.GetEnumerator();
			int i = 0;
			while (en.MoveNext())
			{
				where = where + "" + en.Key + " LIKE ':" + en.Value + "' ";
				if (i++ < hash.Count - 1 ) where = where + " AND ";
			}
 
			query = query + where + " " + groupBy + "";
			return query;
		}
J'ai besoin de rajouter des % % entre mes paramètres.

j'ai remplacé cette ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
where = where + "" + en.Key + " LIKE ':" + en.Value + "' ";
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
where = where + "" + en.Key + " LIKE '%:" + en.Value + "%' ";
L'execution de la requête dans mon programme, me retourne l'erreur suivante: ORA-01036: numéro/nom de variable interdit

Je sais très bien que l'erreur vient de la ligne que j'ai modifié.
Je vous demande s'il vous plâit de m'aider à corriger cette ligne pour que ca marche. Merci