Comment puis-je trier un objet de requête dans ColdFusion 7?
J'ai un objet de requête, avec, disons, une quinzaine de lignes retournées. Pour toutes fins utiles, je ne peux pas modifier le SQL qui génère de l'objet de requête, mais j'ai besoin de trier cette requête objet par colonne. Est-il un moyen de le faire dans ColdFusion 7 sans avoir recours à une bibliothèque externe?
Edit: je me dois d'ajouter: j'ai exécuter une requête sur cet objet de requête, et fait un ORDER BY
clause dans cette requête de la requête. Est-il une autre façon de faire cela?
Sujet: "Est-il une autre façon de faire cela?" - Pouvez-vous dire pourquoi Glissement n'est pas suffisante dans ce cas?
Tomalak: en Raison de certaines circonstances atténuantes, le <cfquery> qui se passerait dans une page d'affichage, qui blesse mon âme bien plus qu'une fonction d'appel.
Ouais, j'ai hate de le faire moi-même. Vous ne pourriez pas vous créer un fichier UDF pour envelopper le QofQ? Ensuite vous suffit d'appeler la fonction dans votre vue. Moins d'un péché, je pense.
J'aime cette approche, Coll.
FWIW Giancarlo Gomez visée à ce fil dans un blog.
Tomalak: en Raison de certaines circonstances atténuantes, le <cfquery> qui se passerait dans une page d'affichage, qui blesse mon âme bien plus qu'une fonction d'appel.
Ouais, j'ai hate de le faire moi-même. Vous ne pourriez pas vous créer un fichier UDF pour envelopper le QofQ? Ensuite vous suffit d'appeler la fonction dans votre vue. Moins d'un péché, je pense.
J'aime cette approche, Coll.
FWIW Giancarlo Gomez visée à ce fil dans un blog.
OriginalL'auteur Hooray Im Helping | 2009-07-22
Vous devez vous connecter pour publier un commentaire.
Non, une requête de requête est la façon de le faire. Il existe d'autres moyens de singe avec les données, mais ils sont tous kludgey et ne serait pas aussi simple que de Glissement.
L'une des puissances de t /t (aka en mémoire les requêtes) est qu'il peut être utilisé sur la requête a retourné par toutes les balises qui renvoie un objet de requête, par exemple CFDIRECTORY et CFPOP.
Pour les gens de se demander comment faire une Requête de la Requête, c'est simple:
OriginalL'auteur ale
Même si cette question est déjà résolue, je veux ajouter, que vous pouvez également utiliser la sous-jacentes Java de la méthode sort(), qui est juste besoin d'une ligne et vous n'avez pas besoin d'ajouter une fonction pour cela. Le code ressemblerait alors à ceci:
La findColumn() l'appel est nécessaire pour obtenir l'index de la colonne de tri, en raison de tri() travaille en collaboration avec l'index de colonne et non pas avec les noms de colonne. Le deuxième paramètre permet de spécifier l'ordre de tri: TRUE = ascendant, FALSE = descendant.
Avantages: un appel sur la ligne, plus rapide que le Glissement
Inconvénient: tri limitée à une seule colonne
Il y a beaucoup plus de fonctionnalités cachées de la sous-classe Java. Voir les liens suivants pour plus d'informations:
Dans Lucee (testé avec la version 4.5 et 5.2) cela fonctionne aussi similaire, et même encore plus simple:
D'espoir, cela donne quelques idées...
Autant que je sache, cela devrait aussi fonctionner jusqu'à 10 CF. Cela devrait être plus rapide qu'une requête de la requête la requête doit être interprété en premier. Malheureusement, je ne peux pas le tester à la fois au moment de donner des informations plus précises sur que.
merci pour le conseil, mais malheureusement, je ne suis pas capable de le faire fonctionner.
qryAddresses.sort(1, TRUE)
retourne cette erreur: "la touche [1] ne trouve pas dans la requête, les colonnes sont [addressID,memberID,createDate,lastUpdated,addressName,...]. Toutes les suggestions?P. S. je suis en utilisant CF9, alors maintenant, je pense qu'il n'est pas pris en charge car
qryAddresses.getColumnCount()
renvoie "Pas de couplage de la Méthode/de Fonction de Requête.getColumnCount() a trouvé"; cependant,qryAddresses.findColumn()
est prise en charge.Cela ne fonctionne plus comme de ColdFusion 2016 - la fonction sort() a été réimplémentée avec un seul paramètre (un comparateur de fonction). helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/...
OriginalL'auteur Sebastian Zartner
Veuillez consulter l'url suivante
http://www.coldfusioncookbook.com/entries/How-do-I-resort-a-query.html
OriginalL'auteur mvergel