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

Bases de données Delphi Discussion :

[ XE8 - TFDJSONDataSets ]


Sujet :

Bases de données Delphi

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2003
    Messages : 167
    Points : 208
    Points
    208
    Par défaut [ XE8 - TFDJSONDataSets ]
    Bonjour

    je vous expose mon projet
    - un serveur datasnap qui dialogue avec une base firebird embarquée
    - un client datasnap qui affiche les données
    - plusieurs agent qui collectent des données et les envoient vers le serveur via datasnap

    j'ai découvert Datasnap et les TFDJSONDataSets au travers des exemples disponibles avec XE8
    Pour les deux premières partie pas de souci
    Pour la dernière je ne sais pas trop comment envoyer les nouvelles données via TFDJSONDataSets
    il y a bien un exemple pour envoyer une mise à jour
    mais je ne veux pas envoyer aux clients l'ensemble des données pour par la suite envoyer au serveur les modifications
    dans le cas présent ce ne sera que des ajouts de nouvelles lignes dans une table.
    une idée sur la méthode a employer ?

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    Pour ce que j'en sais, cette classe n'envoie que les différences entre le dataset original et le dataset final.
    Les données ne sont pas toutes envoyées.

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par fbalien Voir le message
    mais je ne veux pas envoyer aux clients l'ensemble des données pour par la suite envoyer au serveur les modifications
    dans le cas présent ce ne sera que des ajouts de nouvelles lignes dans une table.
    une idée sur la méthode a employer ?
    Je n'ai pas essayé mais en théorie si l'ensemble envoyé au client est vide (par exemple une requête SELECT * FROM TABLE WHERE 1=0 et ce copié dans une fdmemtable par exemple rien empêche (à priori) de faire des insertions dans cette fdmemtable
    fdmemtable qui sera utilisé pour le TFDJSONDataSets.

    je sonne là du théorique, fondé sur la vidéo que je viens de visionné sur les différences entre ClientDataset et FDMemTable (pour datasnap à partir de la 27 éme minute mais voir aussi ce qui se passe avant partie CacheUpdates 18éme minute)

    en fait tout regarder
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2003
    Messages : 167
    Points : 208
    Points
    208
    Par défaut
    Bonsoir

    Merci Papy214 et SergioMaster
    en Effet un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM TABLE WHERE 1=0
    pour envoyer la structure de la table sans les données à l'agent pour initialiser un fdmemtable
    on ajoute les nouveaux enregistrement dans la fdmemtable puis envoie des modifications via TFDJSONDeltas
    juste ne pas oublier de mettre à true le FDMemTable.CachedUpdates

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

Discussions similaires

  1. Réponses: 46
    Dernier message: 28/08/2015, 17h43
  2. Réponses: 8
    Dernier message: 23/04/2015, 14h30
  3. Migration d'un programme XE4 vers XE7 (ou XE8) boires et déboires
    Par SergioMaster dans le forum Composants FMX
    Réponses: 1
    Dernier message: 22/04/2015, 11h21
  4. [IDE] Migration C++ Builder 6 -> XE8
    Par say dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/04/2015, 21h06
  5. [info] XE8 dispo
    Par SergioMaster dans le forum Delphi
    Réponses: 5
    Dernier message: 08/04/2015, 15h30

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