Bonjour,
Je suis face à un problème que je peux facilement contourné mais dont j'aimerais comprendre le pourquoi :
explication du problème : afin de protéger mes requetes à ma base de donnée, je prend soin de remplacer les ' par '' dans les variable de type string pour cela je crée cette fonction :
Donc selon moi puisque je met byref, lorsque j'appel cette fonction comme cela par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Public Sub protectStringQuery(ByRef str As String) str = Replace(str, "'", "''") End Subma variable devrait mdp devrait voir tout ses ' remplacer par des ''. et bien ce n'est pas le cas alors je ne comprend pas ce qu'il se passe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 dim mdp mdp = txtMdp.text protectStringQuery(mdp)
J'ai changer cette procedure par une fonction parmais bon cela oblige à écrire mdp = protectStringQuery(mdp) et puis j'aimerais bien comprendre pourquoi cela ne marche pas alors que le passage par référence fonctionne bien dans d'autre fonctions, procedures
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Public function protectStringQuery(ByRef str As String) protectStringQuery = Replace(str, "'", "''") End Function
Merci pour votre aide
Cordialement
Pierre
Partager