2014-09-16 2 views
1

en PHP et MySQL je peux faire des données comme la pagination suivante:Progress 4GL - Pagination

select * from customers LIMIT $start, $limit; 

Le résultat me retourner la page Je demande. Est-il possible de faire quelque chose comme ça en utilisant Progress 4GL?

  • Je n'utilise ->select from customers
  • J'utilise ->for each customers

Mais comment puis-je définir une limite et pages pour cette requête de recherche?

Exemple de Pagination:

J'ai clients dans ma 20.000 base de données. Dans chaque recherche que j'ai faite, je veux séparer le résultat. La limite que je veux envoyer à l'application est de 100 lignes de 1000. Et lorsque l'utilisateur appuie sur la page 2, elle renvoie 100 autres lignes (mais pas les 100 anciennes).

Est-ce que cela a du sens?


MISE À JOUR

J'utilise une technologie d'Adobe Flex appelé. Le langage Flex ne se connecte pas directement à la base de données, cela dépend d'un langage dorsal. J'utilise donc Flex et Progress 4GL. Mon application flexible a une grille de données (comme le navigateur en 4GL) pour montrer les données extraites de ma base de données 4GL. Le problème est que la base de données est énorme, donc j'ai besoin de paginer les données. Chaque fois que l'utilisateur clique sur une autre page, l'application Flex doit communiquer avec Progress 4GL pour récupérer les autres données de la page. Mais, chaque clic sur le bouton est un appel différent, de sorte que la progression n'aura aucune connaissance de la requête précédente.

Comment passer de la première page à la septième en utilisant une requête?

+0

Vous devez être un peu plus précis car il y a plusieurs façons de faire ce que vous voulez, et la solution dépend du contexte spécifique de ce vous faites et c'est exigences. –

+0

salut Tim, merci d'avoir répondu. J'ai mis à jour le sujet. Si vous pouviez s'il vous plaît jeter un coup d'oeil maintenant. –

+0

Une requête serait le chemin à parcourir. J'ai ajouté un lien vers une base de données de progrès pour classer les enregistrements dans le code dotNet, ce qui, je pense, vous aidera dans votre application flexible. –

Répondre

0
+0

Merci d'avoir répondu Tim. Dans le fichier .p, une requête est définie puis ouverte: OPEN QUERY lvQuery POUR CHAQUE client NO-LOCK Mais l'application flexible appellera ce fichier .p chaque fois que les utilisateurs cliquent sur le bouton Comme mon ensemble de données est grand, ne consommerait pas une grande quantité de temps à faire: "pour chaque client" chaque fois que je demande ce fichier .p? –

+0

Contrairement à SQL, les requêtes de progression ne sont pas entièrement résolues lorsque la requête est ouverte.Le moteur de db trouvera les enregistrements comme ils sont nécessaires –

+0

Mais, vu le code, il semble que la limite quantité de données qui reviendra et quand est demandé il apporte la page suivante Mais que se passe-t-il si je suis dans la page 2 et que je veux aller à la 7? Comment puis-je définir cela? –

Questions connexes