FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV (précédentes versions)
→
chaine de caractère dans requete SQL : pb apostrophe
chaine de caractère dans requete SQL : pb apostrophe
Débuté par manu, 04 aoû. 2004 13:29 - 3 réponses
Connectez-vous…
manu
#1
Posté le 04 août 2004 - 13:29
Bonjour.
J'effectue une requete SQL sur une BD en utilisant la fonction :
HExecuteRequeteSQL(Req,hRequeteDefaut,sReq).
voici le code de la clause WHERE de la chaine sReq définissant la requête
:
sReq = [debut req]+...
" WHERE MaTable.Nom LIKE '%"+sNom+'%"
Ainsi ma requete est paramétrée suivant la chaine sNom
Le problème est que la chaine sNom peut contenir des apostrophes et alors
ma requete n'est plus correcte syntaxiquement.
Y'a-il une solution pour contourner ce problème ?
Je vous remercie par avance de votre aide
cordialement.
manu
Signaler
0
0
Judi KL
#2
Posté le 04 août 2004 - 13:49
Il faut que tu crées une fonction qui va isoler ces apostrophes :
********************
FONCTION quote(pCh)
Pos est un entier
Ch est une chaîne
Ch=pCh
Pos=Position(Ch,"'")
TANTQUE Pos>0
Ch=Gauche(Ch,Pos-1)+"''"+Milieu(Ch,Pos+1)
Pos=Position(Ch,"'",Pos+2)
FIN
RENVOYER "'"+Ch+"'"
********************
Il ne te reste plus qu'à indiquer tes requêtes comme cela :
WHERE MaTable.Nom LIKE "+quote("%"+sNom+"%")+"
Ca devrait marcher.
"manu" <enj.manu026@netcourrier.com> wrote:
Bonjour.
J'effectue une requete SQL sur une BD en utilisant la fonction :
HExecuteRequeteSQL(Req,hRequeteDefaut,sReq).
voici le code de la clause WHERE de la chaine sReq définissant la requête
:
sReq = [debut req]+...
" WHERE MaTable.Nom LIKE '%"+sNom+'%"
Ainsi ma requete est paramétrée suivant la chaine sNom
Le problème est que la chaine sNom peut contenir des apostrophes et alors
ma requete n'est plus correcte syntaxiquement.
Y'a-il une solution pour contourner ce problème ?
Je vous remercie par avance de votre aide
cordialement.
manu
Signaler
0
0
michel
#3
Posté le 04 août 2004 - 15:49
"manu" <enj.manu026@netcourrier.com> wrote:
Bonjour.
J'effectue une requete SQL sur une BD en utilisant la fonction :
HExecuteRequeteSQL(Req,hRequeteDefaut,sReq).
voici le code de la clause WHERE de la chaine sReq définissant la requête
:
sReq = [debut req]+...
" WHERE MaTable.Nom LIKE '%"+sNom+'%"
Ainsi ma requete est paramétrée suivant la chaine sNom
Le problème est que la chaine sNom peut contenir des apostrophes et alors
ma requete n'est plus correcte syntaxiquement.
Y'a-il une solution pour contourner ce problème ?
Je vous remercie par avance de votre aide
cordialement.
manu
Ha, ces apostrophes !!
Comme d'habitude avec les chaînes de caractères, pour obtenir une apostrophe,
il faut en mettre 2.
Pour cela, la fonction "Remplace" de Windev fait tout à fait l'affaire. Il
suffit d'écrire remplace(snom,"'","''") pour que toutes les apostrophes de
la chaîne snom soient transformées en deux apostrophes et la requête fonctionne
!!
Bonne continuation !!
Signaler
0
0
The Legacy
#4
Posté le 04 août 2004 - 17:14
Bonjour,
J'ai aussi eu le pb avec une base MySQL.
Pour éviter cela, j'ai encadré ma variable de plusieurs guillemets :
"WHERE nom = """ + sNom + """ AND ..."
Normalement ca pause pas de problème
A bientôt
"manu" <enj.manu026@netcourrier.com> a écrit dans le message de
news:4110ac91$1@news.pcsoft.fr...
Bonjour.
J'effectue une requete SQL sur une BD en utilisant la fonction :
HExecuteRequeteSQL(Req,hRequeteDefaut,sReq).
voici le code de la clause WHERE de la chaine sReq définissant la requête
:
sReq = [debut req]+...
" WHERE MaTable.Nom LIKE '%"+sNom+'%"
Ainsi ma requete est paramétrée suivant la chaine sNom
Le problème est que la chaine sNom peut contenir des apostrophes et alors
ma requete n'est plus correcte syntaxiquement.
Y'a-il une solution pour contourner ce problème ?
Je vous remercie par avance de votre aide
cordialement.
manu
Signaler
0
0
→ Revenir à WINDEV (précédentes versions)
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte