J'ai un composant Coldfusion, avec une méthode qu'il a appelé getColumnNamesméthode Coldfuson CFScript "de setSQL" n'a pas été trouvé
Cette juste interroge une table MySQL, et retourne le COLUMNLIST:
remote string function getColumnNames() {
qProcessCars = new Query();
qProcessCars.setDataSource('#APPLICATION.dsn#');
qProcessCars.setSQL('SELECT * FROM sand_cars WHERE 1 LIMIT 1');
qProcessCars = qProcessCars.Execute().getResult();
return qProcessCars.columnlist;
}
Si j'accède cela à distance dans le navigateur, avec page.cfc? Method = getColumnNames, alors je récupère la liste attendue de colonnes.
Cependant, si je tente d'y accéder à l'intérieur une autre méthode dans le composant, je reçois une erreur
remote string function otherFunction() {
...
sColumns = getColumnNames();
...
}
La décharge d'erreur pour le code ci-dessus renvoie le message « La méthode setSQL n'a pas été trouvé ».
Donc, quelqu'un peut-il m'aider à trouver pourquoi cela fonctionne comme un appel à distance, mais pas lorsqu'il est appelé à partir d'une autre méthode à l'intérieur du même composant.
Ah j'ai encore une fois répondu à ma propre question. Pardon. J'ai utilisé le même nom * qProcessCars * else où dans le composant, je n'avais pas mis ** var ** devant eux. Je ne sais pas POURQUOI c'était le problème, mais c'était le cas. Peut-être que ** setSQL ** ne peut être appelé qu'une seule fois par * requête * objet? Je ne peux pas vraiment répondre à cela pour le moment car je viens juste de l'énumérer –
Oups, on dirait que vous avez répondu avant d'avoir terminé ma réponse. – Sergii