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

XMLRAD Discussion :

XMLUpdate, comment ça marche


Sujet :

XMLRAD

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut XMLUpdate, comment ça marche
    Bonjour,

    J'ai un soucis avec les fragments.
    J'ai un fichier segments.xml.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <segments>
      <segment>
        <ID_MARKET>1</ID_MARKET>
        <ID_SEGMENT>2</ID_SEGMENT>
        <name>Ventilator</name>
      </segment>
    </segments>
    Je voudrais ajouter des élément <segment> mais tout ce que j'obtiens est soit un update soit un insert contenant seulement les ID et name mais pas <segment>.
    Je précise que je passe bien XMLC_Operation = INSERT.

    Quelle âme charitable pourrait m'aider ?
    merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 284
    Points : 349
    Points
    349
    Par défaut
    C'est vrai que les fragments sont pas super simples à utiliser, je regarde encore dans le code pour etre sur du comportement quand j'en crée un nouveau, sinon je fais un copier/coller d'un fragment existant et qui fonctionne. Pas trivial, donc

    Pour ton cas, je pense qu'il faut un fragment qui ressemble à ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <Fragments>
    <Fragment>
    <Name>segment</Name>
    <Kind>DATASET</Kind>
    <RecordName>segment</RecordName>
    <KeyField>ID_MARKET</KeyField>
    <XPath/>
    <Fields>
    <Field>
    <Name>ID_MARKET</Name>
    <Type>VARCHAR</Type>
    </Field>
    <Field>
    <Name>ID_SEGMENT</Name>
    <Type>VARCHAR</Type>
    </Field>
    <Field>
    <Name>name</Name>
    <Type>VARCHAR</Type>
    </Field>
    </Fields>
    </Fragment>
    </Fragments>
    et des champs de formulaire nommés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ID_MARKET
    ID_SEGMENT
    name
    Tu peux regarder les exemples de fragment dans XMLRAD directement, il n'utilise quasiment que ca.

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut
    sniff, ça marche pas. ça me fait un update. Je n'ai pas précisé que c'est dans une instruction File (je ne sais pas si c'est important) avec Method Update.
    J'ajoute que si dans le champ XPath je mets /*, il m'ajoute mes fields mais sans les entourer de <segment>

  4. #4
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    essaye de mettre ces fragments là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <Fragments>
    <Fragment>
    <Name>segment</Name>
    <Kind>DATASET</Kind>
    <RecordName>segment</RecordName>
    <DatasetName>segments</DatasetName>
    <KeyField>ID_MARKET</KeyField>
    <XPath/>
    <Fields>
    <Field>
    <Name>ID_MARKET</Name>
    <Type>VARCHAR</Type>
    </Field>
    <Field>
    <Name>ID_SEGMENT</Name>
    <Type>VARCHAR</Type>
    </Field>
    <Field>
    <Name>name</Name>
    <Type>VARCHAR</Type>
    </Field>
    </Fields>
    </Fragment>
    </Fragments>
    Dans le Context il faut t'assurer (par debug par exemple) que tu es XMLC_Operation=INSERT
    et que tu es
    segment.ID_MARKET=2
    segment.ID_SEGMENT=3
    segment.name=toto

    c'est un cas d'ecole des fragments y a pas de raison que cela ne fonctionne pas.

    jette toujours un oeil aussi à d'autres exemples:
    http://xmlrad.com/DelosBin/Delos.dll...1015#XMLUpdate

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut
    effectivement en ajoutant le datasetname, ça marche. En revanche, j'ai mis segment (au singulier) comme datasetname.
    Merci

    Au fait, à quand la prochaine beta ou release de XMLRAD2007 ?

  6. #6
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut
    Encore une question. Après mon insert dans le fichier, je fais un XMLCollection.SendRedirect vers un XMLService qui recharge le fichier et doit l'afficher en PartialUpdate. Mon problème est que la valeur nouvellement insérée n'est pas présente. un rafraichissement règle le problème. Je précise que dans le load, je ne mets pas en cache le contenu.

    Des idées ?
    Merci d'avance.

  7. #7
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    peux tu préciser dans quel événement tu fais le XMLRequest.SendRedirect ?
    tu utilises bien l'instruction File dans le XMLGram pour mettre a jour le fichier ?

    pour XMLRAD 2007, effectivement il a pris un peu de retard. il va même peut être s'appeler 2008.
    pour l'instant pas d'autres news.

  8. #8
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut
    j'utilise bien l'instruction File lors de la mise à jour. Et le SendRedirect est fait dans AfterXMLService (du insert)

  9. #9
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    y'aurait pas un problème de cache du navigateur en passant par le SendRedirect ?

    vérifie que l'action est bien exécutée dans les traces

  10. #10
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut
    j'avais bien sûr fait le test et je confirme que l'action est exécutée.

  11. #11
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    a part un cache quelconque je vois pas trop

  12. #12
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    C'est peut etre une question bête, mais pourquoi faire un SendRedirect et pas qqch comme ca: ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Context.SetValue('NextAction','RedirSer');
     
    //et si besoin:
    Context.SetValue('XMLC_Action','RedirSer');
    Michael

Discussions similaires

  1. ToAsciiEx, comment cela marche ?
    Par mikyfpc dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/02/2004, 21h39
  2. [MFC] list box : comment ça marche
    Par runn2 dans le forum MFC
    Réponses: 4
    Dernier message: 28/01/2004, 12h36
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 00h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 12h51

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