Salut,
Dans des applications à temps réels comment faire pour rafraîchir les données
de ma forme mais sans utiliser le timer ?
Merci d'avance.
Salut,
Dans des applications à temps réels comment faire pour rafraîchir les données
de ma forme mais sans utiliser le timer ?
Merci d'avance.
Publications: http://schelabi.developpez.com/
Sans timer, ça va être dur.
Tu veux raffraichir quand ?
Si c'est lorsque l'utilisateur navigue, tu peux utiliser le trigger when_new_item_instance
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
Salut,
Je veux que mon ecran contient les données réels de ma table
TU veux dire utiliser get_item_property
Je pense c'est mieux d'utiliser le when_new_record_instance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 get_item_property('bloc.nom_col',DATABASE_VALUE);
Mais est ce que cette solution est performante?
Publications: http://schelabi.developpez.com/
Je suis HYPER concerné par ce genre de problématique.
L'alternative que j'ai mise en place consiste à invoquer la built-in POST dans le trigger WHEN-NEW-RECORD-INSTANCE (car il s'agit de bloc multi-lignes mais when-new-item-instance est peut être plus approprié dans ton cas).
A partir de là, tu n'as plus besoin de timer.
Tu peux par exemple enchaîner sur un clear_block(no_validate) suivi d'un execute_query.
Remarques :
- tu peux remplacer POST par COMMIT
- ton écran doit être organisé impeccablement en particulier concernant le status de tes records, en tout cas, c'est LE point qui m'a posé le plus de contraintes.
- l'invocation de post ou commit va déclenché les triggers de validation (donc when-validate-record, when-validate-item, etc.) -> Cf. le niveau de validation défini dans ton écran
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Salut,
Merci pour vos suggestions.
Mais le post il valide le données au niveau de la forme mais il ne rafraichit
pas mon ecran ( c'est a dire s'il y a des nouveaux enregistrements inserés dans ma table avec le post je vais pas les voir sur mon ecran ).
Publications: http://schelabi.developpez.com/
Ah si !Envoyé par salim11
POST effectue une validation des modifications (insertion, suppression, modifications de lignes) en base comme le ferait commit sauf que celle-ci peut être annulée via un appel à CLEAR_FORM (et uniquement clear_form par opposition à clear_block par exemple).
Par contre, tu as raison quand tu dis que l'appel à POST ne suffit pas.
C'est pour ça que je te proposais d'enchaîner un clear_BLOCK et EXECUTE_QUERY...
mais surtout pas d'appel à CLEAR_FORM
Dernière remarque : post est une procédure restreinte mais ça tu le sais certainement déjà.
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Salut,
Je comprends pas une chose , j'ai créé une forme et dans le when_new_record_instance je fais le post, quand je modifie un champs ou je crée un nouveau et apres je me positionne sur un autre record il commit au niveau de la forme mais je voix pas les modification au niveau de table ( la base de données)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 POST effectue une validation des modifications (insertion, suppression, modifications de lignes) en base comme le ferait commit sauf que celle-ci peut être annulée via un appel à CLEAR_FORM
Merci Magnus.
Publications: http://schelabi.developpez.com/
Pour ce qui est du raffraîchissement commandé depuis un évènement extérieur, j'ai développé la solution suivante:
http://forms.pjc.bean.over-blog.com/...e-4168506.html
Un message peut ensuite être envoyé à Forms depuis la base, sur le déclanchement d'un trigger, par exemple.
Sinon, le déclenchement depuis Forms ne peut pas passer par autre chose qu'un timer. Mais franchement, un timer qui se déclenche une fois par seconde ou toutes les 2 secondes ne provoquera aucun encombrement réseau.
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
Normal, POST ne valide les modifications que pour la SESSION en cours.Envoyé par salim11
Donc si vous faîtes une requête en parallèle sous SQLPlus par exemple alors vous ne verrez pas les modifications tant que vous n'aurez pas effectué de COMMIT dans l'écran.
Cependant, vous n'avez pas d'invoquer COMMIT dans l'écran pour vider votre bloc et le recharger de manière à travailler en temps réel : vous êtes toujours dans la même session que celle qui a posté les modifications.
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Salut,
C'est trés clair.
Merci magnus.
Publications: http://schelabi.developpez.com/
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager