Lorsque vous utilisez un accès natif MySql pour Winvev il existe deux possibilités:

- Si vous utilisez l'analyse Windev avec une connexion HOuvreConnexion(Maconnexion) à ce niveau les caractères spéciaux sont automatiquement gérés.

-Si vous utilisez un accès natif MySql sans l'analyse pour Windev avec une connexion Sqlconnecte(serveur,utilisateur,motdepasse,bd,"Mysql") les caractères spéciaux ne sont pas gérés tels que(/,',a^,ê,â,été...) et la fonction H n"est pas reconnue.

Je vous pressente une procédure pour gérer ces caractères spéciaux mal interprétés par le serveur d'application:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
PROCEDURE convertirchaine(textString est une chaîne, codage est booléen = Vrai)
 
SI PAS codage ALORS
	textString = Remplace(textString, "\\", "\")
	textString = Remplace(textString, "\0",Caract(0))
	textString = Remplace(textString, "\t",TAB )
	textString = Remplace(textString, "\r",Caract(10) )
	textString = Remplace(textString, "\n", Caract(13))
	textString = Remplace(textString, "''","'" )
	textString = Remplace(textString, "%%","%")	
SINON
	textString = Remplace(textString, "\", "\\")
	textString = Remplace(textString, Caract(0), "\0")
	textString = Remplace(textString, TAB, "\t")
	textString = Remplace(textString, Caract(13), "\n")
	textString = Remplace(textString, Caract(10), "\r")
	textString = Remplace(textString, "'","") //textString = Remplace(textString, "'","''")
	textString = Remplace(textString, "%","%%")	
FIN
 
SI PAS codage ALORS RENVOYER (textString)
RENVOYER ("'" + textString + "'")
Cette procédure s'utilise uniquement sur les chaines de caractères et non sur les entiers.

Illustration:

ReqReduct = SQLExec("INSERT INTO `t_utilisateur` (`utilisateur`,`motpass`,`niveau`) VALUE ( "+...
convertirchaine(SAI_Utilisateur)+","+...
convertirchaine(SAI_Motpasse)+","+...
SAI_Niveau+")","REQFACT")

Bon dev...............

On verra également comment gérer les transactions de façon efficace avec cette même fonction SQLExc.