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

Windev Mobile Discussion :

SQL UPDATE par WebService Windev [WM22]


Sujet :

Windev Mobile

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2015
    Messages : 108
    Points : 78
    Points
    78
    Par défaut SQL UPDATE par WebService Windev
    Bonjour,

    Je développe une application Android qui enregistre un TAG NFC et le lie à un client (+sa position GPS).
    Au démarrage, l'application fait un SELECT sur le serveur et insère les données dans une table locale de l'application via les services Web de Windev (serveur vers Android). Pas de souci.

    Maintenant la table locale a été modifiée et je souhaite donc mettre à jour la table sur le serveur (Android vers serveur).
    Voici mon code:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Procedure UpdateProteckSites()
    sdLocaledb est une Source dede Données
    sReqUP est une chaîne
     
     
    sRequete = [
    SELECT
    SitesDBLocale.IDSite AS IDSite,
    SitesDBLocale.NFCTagSite AS NFCTagSite,
    SitesDBLocale.Latitude AS Latitude,
    SitesDBLocale.Longitude AS Longitude
    FROM
    SitesDBLocale
    WHERE
    SitesDBLocale.NFCTagSite <> 'NULL' AND Sitesdblocale.Latitude <> '0.000000' AND Sitesdblocale.Longitude <> '0.000000'
    ORDER BY
    IDSite Asc
    ]
     
    sReqUP = [
    UPDATE
    sites
    SET
    SiteTAG = '%1', SiteLatitude = '%2', SiteLongitude = '%3'
    WHERE
    sites.IDSite = '%4'
    ]
     
     
     
    HExécuteRequêteSQL(sdLocaledb,hRequêteDéfaut,sRequete)
    HLitPremier(sdLocaledb,IDSite)
    TANTQUE HEnDehors() = Faux
    nIDSite = sdLocaledb.IDSite
    sSiteTag = sdLocaledb.NFCTagSite
    sLatitude = sdLocaledb.Latitude
    sLongitude = sdLocaledb.Longitude
     
    SI nConnexionDB <> 0 ALORS //nConnexionDB est un entier = SQLConnecteWS("http://srv-ws/WDSOAPDB_WEB/","srv-ws","admin","xxxxxxxxxxx","XXXXX","MYSQL")
     
    sReqUP = ChaîneConstruit(sReqUP,sSiteTag,sLatitude,sLongitude,nIDSite)
     
    // info(sReqUP) --> donne la bonne requête
     
    SQLExec(sReqUP,"MonUpdate")
    SQLDéconnecte()
     
    SINON
    SQLInfoGene()
    Erreur(SQL.MesErreur)
    ChangeEtatRondierPlus(3)
    FIN
    HLitSuivant(sdLocaledb,IDSite)
     
    FIN
    Pas d'erreur mais en revanche la table du serveur n'est pas mise à jour. En mode test par Windev Mobile et en entrant des valeurs en dur dans la requête, cela fonctionne. Je ne comprends pas pourquoi cela ne fonctionne pas. J'ai fais différents tests avec SQLExec CREATE TABLE, SELECT, c'est ok. Mais UPDATE, ça ne veut pas...

    Je remercie la communauté par avance.

    Fred

  2. #2
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2015
    Messages : 108
    Points : 78
    Points
    78
    Par défaut SQL UPDATE via Webservice
    Voici la solution, en fait, il faut relancer la connexion et c'est ok:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Procedure UpdateProteckSites()
    sdLocaledb est une Source dede Données
    sReqUP est une chaîne
     
     
    sRequete = [
    SELECT
    SitesDBLocale.IDSite AS IDSite,
    SitesDBLocale.NFCTagSite AS NFCTagSite,
    SitesDBLocale.Latitude AS Latitude,
    SitesDBLocale.Longitude AS Longitude
    FROM
    SitesDBLocale
    WHERE
    SitesDBLocale.NFCTagSite <> 'NULL' AND Sitesdblocale.Latitude <> '0.000000' AND Sitesdblocale.Longitude <> '0.000000'
    ORDER BY
    IDSite Asc
    ]
     
    sReqUP = [
    UPDATE
    sites
    SET
    SiteTAG = '%1', SiteLatitude = '%2', SiteLongitude = '%3'
    WHERE
    sites.IDSite = '%4'
    ]
     
     
     
    HExécuteRequêteSQL(sdLocaledb,hRequêteDéfaut,sRequete)
    HLitPremier(sdLocaledb,IDSite)
    TANTQUE HEnDehors() = Faux
    nIDSite = sdLocaledb.IDSite
    sSiteTag = sdLocaledb.NFCTagSite
    sLatitude = sdLocaledb.Latitude
    sLongitude = sdLocaledb.Longitude
     
    sReqUP = ChaîneConstruit(sReqUP,sSiteTag,sLatitude,sLongitude,nIDSite)
     
    SQLConnecteWS("http://srv-ws/WDSOAPDB_WEB/","srv-ws","admin","xxxxxxxxxxx","XXXXX","MYSQL")
     
    SI nConnexionDB <> 0 ALORS 
     
    sReqUP = ChaîneConstruit(sReqUP,sSiteTag,sLatitude,sLongitude,nIDSite)
     
     
    SQLExec(sReqUP,"MonUpdate")
    SQLFerme(sReqUP)
    SQLDéconnecte()
     
    SINON
    SQLInfoGene()
    Erreur(SQL.MesErreur)
    ChangeEtatRondierPlus(3)
    FIN
    HLitSuivant(sdLocaledb,IDSite)
     
    FIN
    Voilà, si ça peut servir.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [T-SQL] Update par ordre croissant
    Par Arnaud F. dans le forum Langage SQL
    Réponses: 8
    Dernier message: 09/11/2009, 11h17
  2. Réponses: 1
    Dernier message: 20/10/2008, 18h30
  3. [SQL] UPDATE par rapport à plusieurs tables
    Par Vinuto dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 12/10/2007, 10h26
  4. MAJ d'une table sous SQL Server par insertion
    Par keish dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/06/2003, 16h23
  5. [dBase]il y a mieux que la commande sql UPDATE ?
    Par sana72 dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 12/12/2002, 11h59

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