Pourquoi certaines requêtes exécutées via SqlExec paraissent-elles tronquées ?

0000001078     -      01/02/2011
Obsolète

Cette information est obsolète. Les développements de sites web autour de Mercator se font maintenant

Des problèmes peuvent se poser lors de l'exécution de requêtes contenant le caractère &. Ceci est provoqué par la "macro substitution" que Visual FoxPro effectue par défaut, même à l'intérieur de chaines de caractères.

Exemple : si la variable coucou existe et contient la chaine gamin, alors la valeur renvoyée par "&coucou" est gamin.

Il existe 2 façons de contourner ce problème :
  • veiller à ne pas utiliser de variables dont le nom est par ailleurs utilisé dans une chaîne de caractères et précédé de &. Si la variable coucou n'existe pas, "&coucou" renverra bien "&coucou".

  • remplacer le caractère & par chr(38) en DBF ou char(38) en SQL : chr(38)+"coucou" renverra bien "&coucou"

Lors de l'appel d'un SqlExec, les paramètres passés dans l'URL après l'identifiant de la requête sont ces variables qui entrent en conflit avec la macro substitution.




Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)

Vous consultez une page relative à une version de Mercator qui n'est plus commercialisée ni supportée.

Mercator est une application .net qui utilise une base de données SQL Server. Les informations sur cette page ne correspondent plus à ces caractéristiques.