Pb de quote

Résolu
PascalLob Messages postés 2 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 12 octobre 2006 - 11 oct. 2006 à 22:31
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 12 oct. 2006 à 09:46
Bonjour,

Voilà ma requette.
Req_str "SELECT code FROM commune WHERE nom '" & MaVal_str & "' "

Il arrive que MaVal_str soit un texte contenant un apostrophe du coup la requette plante.

Comment faire ??

merci d'avance

Pascal Lob

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 oct. 2006 à 23:18
salut

Il existe deux methodes
la degeulasse
replace(MaVal_str,"'","''")

et la propre
utiliser les parametres ADO

http://www.vbfrance.com/codes/BOITE-OUTILES-ADO-CONNEXION-COMMAND-PARAMETER_38816.aspx


# Set ADO_Prm = New ADODB.Parameter
# With ADO_Prm
# .Direction = adParamInput
# .Type = adChar
# .Size = 255
# .Value = mavaleur
# End With
#
# ADO_Cmd.Parameters.Append ADO_Prm

Et les quotes sont doublées par le moteur et
cette methode empeche en plus
le XSS (sql cross scripting)
ie la possibilité d'executer des requetes sql par les entrées utilisateur

car avec la methode 1
Personne n'empeche de mettre
';delete from ma table

dans la valeur du champ et les consequences peuvent etre desastreuses.


Voila
3
PascalLob Messages postés 2 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 12 octobre 2006
12 oct. 2006 à 09:27
Merci ,

Le replace atrès bien fonctionné et il me suffira pour cette fois c'est juste pour une fonction d'importation et de remise en forme de tables.
Elle ne servira qu'une fois et que pour moi.

Pascal Lob
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
12 oct. 2006 à 09:46
Valide la réponse STP ;-)
Pour les autres et l'avenir de tes posts et du site.

Merci
0
Rejoignez-nous