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

InfoPath .NET Discussion :

update repeteting table


Sujet :

InfoPath .NET

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut update repeteting table
    ReBonjour a tous,

    J'ai bien progresse depuis mon dernier probleme, et je vous remercie pour votre aide. Mais, la, je me trouve face a un autre probleme.

    Pour resumer, j'ai cree un formulaire infopath avec une connection a un webservice afin de creer un select. J'insere donc ma repeting table pour afficher mes donnees. Tout fonctionne bien jusque la !

    Ensuite, je suis passee a la phase SUBMIT. J'ai donc cree mes requetes UPDATE sur mon webservice et cela fonctionne bien !

    Le probleme est que lorsque j'ai plusieurs blocks avec les memes champs qui se repetent dans ma repeting table, il me renvoie les champs du premier block seulement.
    Or je voudrais qu'il me renvoie soit les champs du 1er block, soit les champs du 2nd a l'aide d'un bouton. Il ne peut y avoir un changement que dans un block a la fois.

    Auriez vous une idee de comment submitter les informations d'un repeting table, svp ?

  2. #2
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    Je pense que tu fais ton appel de webservice directement depuis Infopath non?

    Essaye plutot de le faire via du code et comme ca il te suffit de séléctionné le noeud répétitif que tu veux et de faire ta requête sur le webservices.

    Tu code en quoi?

    Perso je n'utilise pas le submit dans Infopath car tu n'as aucun controle dessus s'il y a une erreur tu ne peux rien faire alors qu'avec du code tu fait ce que tu veux de ton retour.

    ++

    Thierry

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    merci, bien je vais tester avec les noeuds. Je vais trouver des tuto, car je ne connais pas, j'ai juste lu en diagonal quelques tuto !

    Merci

  4. #4
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Si tu décris mieux ton problème et ton but je veux bien t'aider?

    Mais dis-moi quelle version de Infopath tu utilise et surtout en quoi tu code?

    ++

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    Excuse moi, je n'avais pas vu ta reponse. J'utilise InfoPath 2007 et mon webservice est developpe en C#.

    Actuellement pour mettre a jour ma base de donnees, j'ai cree une web methods dans mon webservice avec en parametre tous les champs de mon formulaire infopath. Ainsi, quand, j'autorise le submit, j'ai plus qu'a dire a quelle variable appartient le champs infopath, comme sur l'image :





    Le probleme c'est que les champs d'infopath sont dans une repeting table. Il y a donc plusieurs block repetant le meme champs avec des valeurs differentes. Chaque a par exemple un id, une cle unique comme le numero de commande, ce qui veut dire que chaque block est different en soit.

    Et donc mon probleme, c'est que je n'arrive a enregistrer les donnees seulement du block un. Les autres, il n'y a pas moyen de les sauvegarder.

    Alors, je suis en ce moment en train de regarder pour renvoyer un fichier XML a mon webservice et que ensuite ce soit mon webservice ui fasse le travail.

    Merci pour ton aide

  6. #6
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    Désolé mais ton image ne se charge pas.

    Dans ton code il suffit de faire:
    1. Ajouter une webreference sur ton Webservice. (clic droit sur réference dans l'explorateur de solution)
    2. de lui donner un Nom (ex: Save)
    3.de copier et de compléter le code suivant:
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    string CurrentLine = //je sais pas où tu la stocke? ;
    XPathNavigator lignetoSave = MainDataSource.CreateNavigator().SelectSingleNode("/Root/RepeatNode[@ID='" + CurrentLine + "']/Adr").CreateNavigator();
    Save.Save WsSave = new Save.Save();
    WsSave.Tamethodepourenreistrer(lignetoSave,param2,...);

    Conseil: N'envoie pas plus de données qu'il n'en faut au webservice car ca ralentit le form (plus tu envoie de données au webservice plus ca prend du temps).

    ++

    Thierry

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    Je suis desolee pour l'image, je ne comprends pas pourquoi ca ne fonctionne pas, c'est la premiere fois. Je l'ai supprimee plusieurs fois, mais rien n'y change.
    Je ne vais pas m'attarder la dessus.

    Sinon, merci pour ton coup de main, mais je ne pige pas trop le code. Peut-etre vais-je te paraitre un peu nulle !

    Ma current line est le path du dossier de ma web reference stockee dans mon webservice.

    et je dois creer autant de lineToSave que de parametre dans mon formInfopath ? car je ne comprends pas pourquoi il ya un param2. ou alors je dois mettre ici tous mes parametres de ma function. (je pense aue c'est la derniere)

    MainDataSource c'est la connexion a ma base de donnees ?


    Excuse moi, c'est un peu confu dans ma tete, dsl

  8. #8
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Il s'agit d'un exemple c'est toi qui choisi les param que tu veux donner a ton webservices si tu n'as besoin que d'un paramètre tu n'utilise qu'un param.

    CurrentLine = je sais pas comment tu sais quelle ligne tu dois envoyer (tu dois surment avoir un identifiant quelquepart) a toi de séléctionner la bonne en fonction de ce que tu as fais.

    Mon exemple est vraiment général.

    Pour ton image upload-la sur ce site.

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    voila, dans ma currente line, j'ai mis de Xpath de mon ID comme j'ai pu voir sur certain site.

    Si je declare pas "MainDataSource" en XPathNavigator avant, il m'indique un erreur comme koi "MainDataSource" n'existe pas. Sur tous les sites, que j'ai pu rencontrer, je vois des "MainDataSource", mais a quoi correspond-t-elle vraiment ? Ne dois-je pas mettre ma dataSource qui permet d'afficher mon select a la place dans Infopath !

    Et enfin, je ne comprends pas pourquoi, tu as mis "/Root/RepeatNode[@id='" + CurrentLine + "']/Adr").CreateNavigator();"
    car je n'ai vu nul par ca et que je suis un peu perdue. J'ai surttout vu
    MainDataSource.CreateNavigator().SelectSingleNode(xpath, NamespaceManager); comme sur la ligne commentee.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void formSubmit(string Area, string Model, string Country, string Customer, string ALineActual, string PoffPlanned, string ALineExpected)
        {
     
            string CurrentLine = "/dfs:myFields/dfs:dataFields/tns:Description_customerResponse/tns:Description_customerResult/BLOCKTOTAL/Description/@id";
            XPathNavigator MainDataSource;
     
            XPathNavigator lignetoSave = MainDataSource.CreateNavigator().SelectSingleNode("/Root/RepeatNode[@id='" + CurrentLine + "']/Adr").CreateNavigator();
            // XPathNavigator field1 = MainDataSource.CreateNavigator().SelectSingleNode(xpath, NamespaceManager);
            save.Update WsSave = new save.Update();
     
            WsSave.UPDATE_Description_customer(lignetoSave, Area, Model, Country, Customer, ALineActual, PoffPlanned, ALineExpected);
     
        }
    Merci pour ton aide

  10. #10
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    en faite je ne comprends pas comment tu sais quelle noeud da ta section répétitive tu vas envoyer ? certe tu as un ID mais comment connais tu celui que tu vas envoyé?

    quelle est le xpath pour atteindre le noeud que tu veux envoyé? C'est ca? "/dfs:myFields/dfs:dataFields/tnsescription_customerResponse/tnsescription_customerResult/BLOCKTOTAL/Description"


    maindatasource est l'objet qui te permet t'atteindre et de naviguer dans les noeud de ta base primaire (pour les source de données secondaire c'est différent). il est déclarer au démarrage du formulaire donc pas besoin de le redéclarer comme tu le fait ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XPathNavigator MainDataSource;
    ++

    Thierry

  11. #11
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    Mon Xpath est : /dfs:myFields/dfs:dataFields/tnsescription_customerResponse/tnsescription_customerResult/BLOCKTOTAL/Description/@id. Pour le mettre dans mon code, j'ai simplement copier le xpath puis coller dans le code.

    Regarde sur la photo tu verras comment est construit ma data source "Description_customer". Cette dataSource est celle qui me permet d'afficher mes donnees et c'est une source secondaire.



    D'accord, je comprends mieux le MainDataSource mais cet objet est declarer automatiquement ? Dans infopath, ma connection primaire s'appelle "Main", mais il n'y a rien d'important dedans.

  12. #12
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Donc tu prends cette id pour savoir quelle section répétitive de ta soucre primaire ?

    donc puis-je avoir maintenant avoir le XPath qui permet d'obtenir la section a envoyé?

    Auter chose:

    tout en haut dans ton code tu as lequel de deux qui est déclaré?

    Celui-ci:
    using Microsoft.Office.InfoPath;
    ou celui la:
    using Microsoft.Office.Interop.InfoPath.SemiTrust;

    Si Maindatasource ne marche pas essaye this.Maindatasource.
    On est d'accord tu code bien en C# dans ton form Infopath?

  13. #13
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Attends je crois qu'il y a un mal entendu quand tu dis:
    Le probleme est que lorsque j'ai plusieurs blocks avec les memes champs qui se repetent dans ma repeting table, il me renvoie les champs du premier block seulement.
    Or je voudrais qu'il me renvoie soit les champs du 1er block, soit les champs du 2nd a l'aide d'un bouton. Il ne peut y avoir un changement que dans un block a la fois.
    c'est ca que je ne comprend pas? tu veux quoi au final? Il est la le malentendu

    Comment fait tu pour savoir si tu envoie le 1er, le 2ème ou tous les block? Mon currentline est censé représenté ce choix

  14. #14
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    Donc tu prends cette id pour savoir quelle section répétitive de ta soucre primaire ?
    Ce n'est pas source primaire mais secondaire. Et j'utilise l'id pour savoir la section repetitive.

    donc puis-je avoir maintenant avoir le XPath qui permet d'obtenir la section a envoyé?
    le Xpath de mon id est "/dfs:myFields/dfs:dataFields/tnsescription_customerResponse/tnsescription_customerResult/BLOCKTOTAL/Description/@id"
    et le xpath de la section a envoyer est "/dfs:myFields/dfs:dataFields/tnsescription_customerResponse/tnsescription_customerResult/BLOCKTOTAL/Description" (c'est le bloc repetitif - Description")


    tout en haut dans ton code tu as lequel de deux qui est déclaré?

    Celui-ci:
    using Microsoft.Office.InfoPath;
    ou celui la:
    using Microsoft.Office.Interop.InfoPath.SemiTrust;
    Il n'y a aucun des 2 dans mon webservice en C#. J'ai un Microsoft.Office.InfoPath; dans le code de mon formulaire Infopath en VB (car je n'ai pas d'autres choix). Mais, je ne peux utiliser ce code car il n'est pas suporter car les appareils mobiles tels que les PDA.


    C'est bien sur le webservice que je dois ajouter ce code ?

  15. #15
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Citation Envoyé par padawanette Voir le message
    Ce n'est pas source primaire mais secondaire. Et j'utilise l'id pour savoir la section repetitive.
    Ok je comprends maintenant.

    C'est bien sur le webservice que je dois ajouter ce code ?
    Non, Moi j'ai dit:
    Je pense que tu fais ton appel de webservice directement depuis Infopath non?

    Essaye plutot de le faire via du code et comme ca il te suffit de séléctionné le noeud répétitif que tu veux et de faire ta requête sur le webservices.
    et je reviens sur ca:
    Le probleme est que lorsque j'ai plusieurs blocks avec les memes champs qui se repetent dans ma repeting table, il me renvoie les champs du premier block seulement.
    Or je voudrais qu'il me renvoie soit les champs du 1er block, soit les champs du 2nd a l'aide d'un bouton. Il ne peut y avoir un changement que dans un block a la fois.
    Explique mieux ca!

    J'ai un Microsoft.Office.InfoPath; dans le code de mon formulaire Infopath en VB (car je n'ai pas d'autres choix). Mais, je ne peux utiliser ce code car il n'est pas suporter car les appareils mobiles tels que les PDA.
    Mais alors tu utilise Infopath en mode web si tu peux les visionner sur un PDA?

    ++

    Thierry

  16. #16
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    Je suis sous infopath 2007 utilisant le enable browser pour les appareils mobiles. J'ai donc pas le choix pour le code de mon form infopath. il est en VB directement meme si je change les parametres de choix de langages. Deplus,j'ai active l'option "Design a form Template that can be open in a browser". Et cette option entraine une imcopatibilite dans l'onglet "programmation" dans les options du formulaire. Il me dit "Script and deprecated objects models are not supported in browser-enabled form templates". et C'est pour cette raison, que je pense que le code n'est pas lu et execute sur les appareils mobiles.

    Pour t'expliquer ce que je veux voici une image


  17. #17
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    Je commence a comprendre tout doucement comment ca fonctionne, j'ai tout traduit en Vb et je l'ai mis dans le code de mon formulaire infopath.

    J'ai changer la connection principale par ma connection secondaire :
    Me.DataSources("Description_customer").CreateNavigator().....

    J'ai cree autant de variable string que j'avais de parametre et j'y ai mis leur Xpath respectif.

    Mais il me reste un pb avec ma fonction a executer dans mon webservice.

    lignetoSave est de type XPathNavigator et que si j'execute ma function comme suit UPDATE_Description_customer(lignetoSave, param1, param2...). ca ne fonctionne pas car mon premier param est de type int. Je l'ai change en XPathNavigator dans mon webservice, mais il me toujours une erreur de converstion !
    De ce fait, dans le code de mon form, j'ai simple fait "lignetoSave.ValueAsInt".et ca fonctionne

    Par contre quand j'execute mon code a l'aide d'un bouton, il me mets une erreur sur ma connection a dataSources. J'ai verifier, elle est ecrite sans faute. Precisement, je ne peux pas dire ce que c'est comme erreur. Je cherche en ce moment meme.

    ++

  18. #18
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Pour info tout ce qui est jscript et vbscript ne fonctionne pas avec form service mais les langage managé fonctionne très bien (C# et VB.Net)

    Moi perso je te conseil de tout coder la même chose donc si ton ws est en C# met le code en C# aussi dans ton form. Ca t'évitera d'apprendre deux langages. Et pour la maintenance ca sera plus facile.

    lignetoSave est de type XPathNavigator et que si j'execute ma function comme suit UPDATE_Description_customer(lignetoSave, param1, param2...). ca ne fonctionne pas car mon premier param est de type int. Je l'ai change en XPathNavigator dans mon webservice, mais il me toujours une erreur de converstion !
    De ce fait, dans le code de mon form, j'ai simple fait "lignetoSave.ValueAsInt".et ca fonctionne
    Je comprend pas trop c'est toi qui décide dans la méthode du service web quelle paramètre tu veux en entrée non? si tu veux un int ok. Mais ca me parait bizzare....


    J'ai cree autant de variable string que j'avais de parametre et j'y ai mis leur Xpath respectif.
    t'es pas obligé tu peux directement écrire ton xpath dans le selectsinglenode a condition de la mettre entre " ".

    Pour info: avec les webservices on parle de méthode et non de fonction mais c'est du blabla...

  19. #19
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    Cote programming de mon formulaire infopath, j'ai cree ca en VB. Je n'arrive pas a le mettre en C# lol ! Donc, je vais rester en VB.net !

    J'exceute mon cote lorsque j'appuie sur un bouton.
    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
    26
    27
    28
    29
     
     
            Public Sub CTRL29_5_Clicked(ByVal sender As Object, ByVal e As ClickedEventArgs)
     
                Dim CurrentLine As String = "/dfs:myFields/dfs:dataFields/tns:Description_customerResponse/tns:Description_customerResult/BLOCKTOTAL/Description/@id"
                Dim Area_path As String = "/dfs:myFields/dfs:dataFields/tns:Description_customerResponse/tns:Description_customerResult/BLOCKTOTAL/Description/BayName"
                Dim Model_path As String = "/dfs:myFields/dfs:dataFields/tns:Description_customerResponse/tns:Description_customerResult/BLOCKTOTAL/Description/ModelName"
                Dim Country_path As String = "/dfs:myFields/dfs:dataFields/tns:Description_customerResponse/tns:Description_customerResult/BLOCKTOTAL/Description/sysCountryName"
                Dim Customer_path As String = "/dfs:myFields/dfs:dataFields/tns:Description_customerResponse/tns:Description_customerResult/BLOCKTOTAL/Description/Customer"
                Dim ALineActual_path As String = "/dfs:myFields/dfs:dataFields/tns:Description_customerResponse/tns:Description_customerResult/BLOCKTOTAL/Description/ALineActual"
                Dim PoffPlanned_path As String = "/dfs:myFields/dfs:dataFields/tns:Description_customerResponse/tns:Description_customerResult/BLOCKTOTAL/Description/PoffPlanned"
                Dim ALineExpected_path As String = " /dfs:myFields/dfs:dataFields/tns:Description_customerResponse/tns:Description_customerResult/BLOCKTOTAL/Description/ALineExpected"
     
                'Dim lignetoSave As XPathNavigator = Me.DataSources("Description_customer").CreateNavigator().SelectSingleNode("/Root/RepeatNode[@id='" + CurrentLine + "']/Adr").CreateNavigator()
     
                Dim lignetoSave As XPathNavigator = Me.DataSources("Description_customer").CreateNavigator().SelectSingleNode(CurrentLine, NamespaceManager)
                Dim Area As XPathNavigator = Me.DataSources("Description_customer").CreateNavigator().SelectSingleNode(Area_path, NamespaceManager)
                Dim Model As XPathNavigator = Me.DataSources("Description_customer").CreateNavigator().SelectSingleNode(Model_path, NamespaceManager)
                Dim Country As XPathNavigator = Me.DataSources("Description_customer").CreateNavigator().SelectSingleNode(Country_path, NamespaceManager)
                Dim Customer As XPathNavigator = Me.DataSources("Description_customer").CreateNavigator().SelectSingleNode(Customer_path, NamespaceManager)
                Dim ALineActual As XPathNavigator = Me.DataSources("Description_customer").CreateNavigator().SelectSingleNode(ALineActual_path, NamespaceManager)
                Dim PoffPlanned As XPathNavigator = Me.DataSources("Description_customer").CreateNavigator().SelectSingleNode(PoffPlanned_path, NamespaceManager)
                Dim ALineExpected As XPathNavigator = Me.DataSources("Description_customer").CreateNavigator().SelectSingleNode(ALineExpected_path, NamespaceManager)
     
                Dim WsSave As save_infopath.Update = New save_infopath.Update()
     
                WsSave.UPDATE_Description_customer(lignetoSave.ValueAsInt, Area.ToString, Model.ToString, Country.ToString, Customer.ToString, ALineActual.ToString, PoffPlanned.ToString, ALineExpected.ToString)
     
    End Sub
    Il me pose une erreur sur toutes les variables de type XPathNavigator. en me disant "Request Failed". Donc je regarde d'ou vient ce pb.

    Voici mon entete de ma methode de mon webservice que j'appelle :

    public void UPDATE_Description_customer(int id, string Area, string Model, string Country, string Customer, string ALineActual, string PoffPlanned, string ALineExpected)
    Il y a des int et des string et c'est pour raison que je veux retourner ces types afin d'executer ma requete SQL UPDATE.

  20. #20
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Pour changer la langue de prog cest: outils->option du formulaire ->programmation et la tu peux choisir mais tu dois d'abord effacer le code avant de pouvoir choisir.

    Moi si je serais toi je ferais plutot comme ca (j'ai pas tout réecris mais je pense que tu comprendras):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim CurrentLine As String = Me.DataSources("Description_customer").CreateNavigator().SelectSingleNode("/dfs:myFields/dfs:dataFields/tns:Description_customerResponse/tns:Description_customerResult/BLOCKTOTAL/Description/@id", NamespaceManager).Value
     
    Dim WsSave As save_infopath.Update = New save_infopath.Update()
     
       WsSave.UPDATE_Description_customer(lignetoSave, ...)
    Mais dans l'absolu je ne mettrais qu'un param dans le ws un xpathnavigator et je sortirai les info dans le webservice comme sa si tes données changent tu n'est pas bloqué dans infopath mais tu n'as cas corrigé le webservices. Mais c'est a toi de décider.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. ERROR: insert or update on table "ecole" violate
    Par doulel dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 17/04/2006, 21h24
  2. [Oracle 9i] Triggers sur les updates de tables
    Par zestrellita dans le forum Oracle
    Réponses: 12
    Dernier message: 07/12/2005, 11h32
  3. [update]deux tables dans la requete
    Par thief dans le forum Oracle
    Réponses: 2
    Dernier message: 02/09/2005, 16h45
  4. update large table et verrous
    Par pascalste dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/07/2005, 09h42
  5. UPDATE multi-tables sous SQL Server
    Par Cybernet dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/03/2004, 15h34

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