IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

Chargement de photo en cas de son abscence


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Devlop++
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut Chargement de photo en cas de son abscence
    Salut,
    Excusé l'intitulé de la discussion j'ai pas trouvé un plus proche du sujet.

    Mon problème est peut etre de catégorie SQL, mais je poste en FORMS car la solution que je cherche est au niveau d’un item image basé sur un LONG RAW.
    Je m’explique :
    J’ai trois table : DEPT, EMP et PHOTO

    DEPT( DEPTNO NUMBER(2), DNAME VARCHAR2(14), LOC VARCHAR2(13) )
    EMP( EMPNO NOT NULL NUMBER(4), ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2) )
    PHOTO( ID NOT NULL NUMBER(7) , DESC VARCHAR2(30), TYPE VARCHAR2(30), BLOB NOT NULL LONG RAW, EMPNO NOT NULL NUMBER(4) )

    DEPT( DEPTNO , DNAME , LOC )
    EMP( EMPNO , ENAME , JOB , MGR , HIREDATE , SAL , COMM , DEPTNO )
    PHOTO( ID , DESC , TYPE , BLOB , EMPNO )

    Les tables contiennent respectivement : données du département, données de l’employé et photos des employés plus une photo spéciale (cliché vide identifié par ID = 0 et EMPNO = 0 qui contient le texte « Photo Non Disponible »). La table photo contient des images insérer par read_image_file().

    J’ai crée une vue comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       CREATE OR REPLACE VIEW PH_VIEW_DEPT (V_EMPNO, V_DEPTNO, V_ID, V_BLOB)  AS 
       SELECT  EMP.EMPNO, EMP.DEPTNO, PHOTO.ID, PHOTO.BLOB
      FROM PHOTO,EMP
       WHERE (     EMP.EMPNO = PHOTO.EMPNO(+)  )  WITH READ ONLY

    PH_VIEW_DEPT (
    V_EMPNO, V_DEPTNO, V_ID, V_BLOB )
    NB:
    “EMP.EMPNO = PHOTO.EMPNO(+)” pour ramené aussi les agents qui n’ont pas de photo (je crois jointure externe)

    Au niveau forms :
    J’ai crée deux blocs : BLOCK_DEPT (Maitre) basé sur la table DEPT, et un autre BLOCK_VIEW (Detaille) basé sur la vue PH_VIEW_DEPT.
    BLOCK_DEPT affiche 1 seul enregistrement, BLOCK_VIEW affiche 5 enregistrements avec l’orientation et la barre de défilement en horizontale.
    J’exécute mon module et j’interroge un enregistrement de BLOCK_DEPT: impeccable, il me rend le département et tous ses employés éventuellement avec photo pour chacun (si il trouve une photo correspondante) sinon l’item :BLOCK_VIEW.V_BLOB de celui qui n’a pas de photo reste vide.
    Mon problème est comment je peux faire pour ramené le cliché spécial portant ID = 0 et EMPNO = 0 pour le visualisé en cas l’employé n’as pas encore de photo a la place d’avoir l’item image vide.

    J’ai pensé à un DECODE dans code de la vue du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       CREATE OR REPLACE VIEW PH_VIEW_DEPT (V_EMPNO, V_DEPTNO, V_ID, V_BLOB)  AS 
       SELECT  EMP.EMPNO, EMP.DEPTNO, PHOTO.ID,
       decode(PHOTO.BLOB,NULL,'pas de photo', PHOTO.BLOB)
      FROM PHOTO,EMP
       WHERE (     EMP.EMPNO = PHOTO.EMPNO(+)  )  WITH READ ONLY
    Mais je tombe sur ORA-00997: illegal use of LONG datatype.

    Aussi au niveau de l'item image par déclencheur, mais je me suis coincé par le choix du déclencheur approprié et comment je verifié que l'item est vide ou null et est ce que BLOCK_VIEW en mode query va me permettre d'éditer par un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     select blob into :BLOCK_VIEW.V_BLOB from photo where id = 0 and empno = 0
    Je doute de cela car en compilant, ce verbe select me renvoit "bad bind variable :BLOCK_VIEW.V_BLOB.

    Auriez-vous programmé quelque chose de ce genre?
    Peut être mon choix d'interrogation basé sur une vue est le problème et qu'il faut faire autrement, j'ai essayé par Maitre-Détail-Détail avec trois block sur les trois table mais même résultat avec un problème de navigation en plus.

    Prière de ne pas me suggérer d'inserer les employés (n'ayant pas de photo) avec le cliché spécial, je veux avoir seulement les employés ayant une photo dans la table photo.

    Merci pour votre aide.

  2. #2
    Membre confirmé Avatar de Devlop++
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    Peut être j'ai mal explique mon problème, ou que la solution est coriace.
    Je suis toujours en attente de votre aide.
    Merci.

  3. #3
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Tout ce que je puis dire c'est que vous ne pouvez pas faire un select BLOB into depuis Forms.

  4. #4
    Membre confirmé Avatar de Devlop++
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    Je suis d'accord, les item images ne ramène que un champs blob ou long raw basé suite a une interrogation execute_query ou via la fonction read_image_file() d'un fichier sur l'OS.
    Comment pourrai-je modifié le verbe select de ma vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE OR REPLACE VIEW PH_VIEW_DEPT (V_EMPNO, V_DEPTNO, V_ID, V_BLOB)  AS 
       SELECT  EMP.EMPNO, EMP.DEPTNO, PHOTO.ID, PHOTO.BLOB
      FROM PHOTO,EMP
       WHERE (     EMP.EMPNO = PHOTO.EMPNO(+)  )  WITH READ ONLY
    pour avoir les photos des employé : ceux qui ont des photos dans la table, en plus si l'employé n'as pas de photos l'interrogation ramène l'image vide (qui est aussi dans la table : id =0 & EMPNO = 0)
    pour avoir en interoggent PH_VIEW_DEPT par "select *" :

    7100, 10, 1, 4 (son image)
    7101, 10, 1, 4 (son image)
    7102, 10, 1, 4 (le cliché vide)
    7200, 20, 1, 4 (le cliché vide)
    7201, 20, 1, 4 (son image)
    7202, 20, 1, 4 (son image)
    7203, 20, 1, 4 (le cliché vide)

    le cliché vide : c'est une photos avec un fond blanc, est un texte qui montionne pas de photos encore.

  5. #5
    Membre confirmé Avatar de Devlop++
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    Salut,
    Je viens de poster sur le sous-forum SQL, je croit que le problème pourrait aussi être résolue au niveau de la vue en ramenant dans cette dernière ce cliché pour les employé n'ayant pas de photos. Ainsi l' execute_query ramènerait dans l'item image le cliché vide.

    Merci.

  6. #6
    Membre confirmé Avatar de Devlop++
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    Je déleste ce thread, au profit de celui là : http://www.developpez.net/forums/sho...14#post3470714

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/09/2008, 15h42
  2. un effet sympa sur chargement de photos
    Par purple21 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 08/09/2007, 12h08
  3. POb chargement de photos sous Firefox
    Par cocotte06 dans le forum Intégration
    Réponses: 4
    Dernier message: 06/08/2007, 08h54
  4. chargement de photos
    Par johnspontex dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/05/2007, 13h44
  5. chargement de photos sur action d'un <select>
    Par bibile dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 20/12/2005, 19h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo