A voir également:
- SQL, LIKE, UPPER et variable
- Récupération serveur sql - Télécharger - Gestion de données
- Comment voir les like sur instagram - Guide
- Photo de profil facebook sans like ✓ - Forum Facebook
- Like par erreur instagram - Forum Instagram
1 réponse
Salut,
primo, je suis pas à l'aise avec les constructions de requêtes au fil de l'eau. je préfère déclarer une constante qui contient le texte de la requête avec des paramètres (à la SQL, donc :PARAMETRE)
ça nous donne const requeteSQLn = "SELECT v FROM Video v WHERE UPPER(v.titre) LIKE UPPER('%:MOTCLE%') OR UPPER(v.nomRealisateur) = UPPER(':MOTCLE') OR UPPER(v.prenomRealisateur) = UPPER(':MOTCLE')" ; ensuite pour l'utiliser, je prends autant de replace que de paramètres différents. ici, il n'y a que :MOTCLE, ca va aller vite
requeteSQL = replace(requeteQSLn, ":MOTCLE", motCle)
secundo, je comprends pas pourquoi tu stockes ta requete SQL dans requeteSQL alors que par la suite tu ne t'en sers pas, tu ne te sers que de sql
tertio: ta requête devrait retourner la colonne v de Video. Si elle n'existe pas, tu devrais avoir une erreur. si tu voulais avoir toutes les colonnes de Video, c'est alors select v.* au lieu de select v qu'il eut fallut écrire.
Tu nous tiens au courant ?
primo, je suis pas à l'aise avec les constructions de requêtes au fil de l'eau. je préfère déclarer une constante qui contient le texte de la requête avec des paramètres (à la SQL, donc :PARAMETRE)
ça nous donne const requeteSQLn = "SELECT v FROM Video v WHERE UPPER(v.titre) LIKE UPPER('%:MOTCLE%') OR UPPER(v.nomRealisateur) = UPPER(':MOTCLE') OR UPPER(v.prenomRealisateur) = UPPER(':MOTCLE')" ; ensuite pour l'utiliser, je prends autant de replace que de paramètres différents. ici, il n'y a que :MOTCLE, ca va aller vite
requeteSQL = replace(requeteQSLn, ":MOTCLE", motCle)
secundo, je comprends pas pourquoi tu stockes ta requete SQL dans requeteSQL alors que par la suite tu ne t'en sers pas, tu ne te sers que de sql
tertio: ta requête devrait retourner la colonne v de Video. Si elle n'existe pas, tu devrais avoir une erreur. si tu voulais avoir toutes les colonnes de Video, c'est alors select v.* au lieu de select v qu'il eut fallut écrire.
Tu nous tiens au courant ?