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 :

Déplacer des enregistrements ClientDataSet


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 455
    Par défaut Déplacer des enregistrements ClientDataSet
    Bonjour à tous,

    Est-il possible de déplacé un enregistrement dans une DB Xml visa le TClientDataSet ?

    Exemple remonté ou descendre un enregistrement dans la base de données.

    Info : Aucune indexation n'est dans cette BD.

    Merci

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 968
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 968
    Par défaut
    Tout l'intérêt d'une base de données est de pouvoir organiser les données.
    Cela permet notamment de trier les données avec une simple requête munie d'une clause ORDER BY ou via un index.
    Donc vouloir modifier physiquement l'ordre dans lequel les enregistrements sont stockés dans une base de données n'a pas de sens.

    Un fichier XML n'est pas une base de données.
    C'est un fichier d'échange de données sensé être écrit par un programme et être lu par un programme.
    Ce qui implique qu'en principe l'ordre des enregistrement n'a également pas d'importance puisqu'aisément modifiable par le programme qui le lit.

    Maintenant si tu tiens vraiment à trier le contenu dans le fichier physique, le ClientDataSet n'est pas forcément la meilleure option.
    Ceci car, encore une fois, ce tri n'a pas de sens puisque ton dataset représente la base.

    Mais si tu considère ton XML comme ce qu'il est vraiment (un simple XML), tu peux le désérialiser, le trier comme tu veux avec une expression Linq et le resérialiser.

  3. #3
    Membre expérimenté
    Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 455
    Par défaut
    Merci popo

    Un fichier XML n'est pas une base de données.
    Oui effectivement on parle plus de paquet de données.

    Reste la méthode Data.DB.TDataSet.Insert & Data.DB.TDataSet.Delete

    On insert une copie de l'enregistrement a l'endroit souhaité, puis on supprime l'enregistrement l'origine.

  4. #4
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 537
    Billets dans le blog
    10
    Par défaut Delphi XE7+ versions
    Bonjour, Tu as des fonctions qui te permettent de lire xml vers le dataset, réorganiser les données à ta convenance et de resauvegarder les modifs comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      ClientDataSet1.MergeChangeLog;
      ClientDataSet1.ApplyUpdates(-1);
      ClientDataSet1.SaveToFile('AA1.XML', dfXML);
      ClientDataSet1.LoadFromFile('AA1.XML');
    le fichier xml est dans un format particulier. Je peux t'envoyer un exemple si besoin

  5. #5
    Membre expérimenté
    Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 455
    Par défaut
    Citation Envoyé par ALWEBER Voir le message
    Bonjour, Tu as des fonctions qui te permettent de lire xml vers le dataset, réorganiser les données à ta convenance et de resauvegarder les modifs comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      ClientDataSet1.MergeChangeLog;
      ClientDataSet1.ApplyUpdates(-1);
      ClientDataSet1.SaveToFile('AA1.XML', dfXML);
      ClientDataSet1.LoadFromFile('AA1.XML');
    le fichier xml est dans un format particulier. Je peux t'envoyer un exemple si besoin
    Bonjour ALWEBER,

    Merci beaucoup

Discussions similaires

  1. recup des enregistrement les plus récents.
    Par julien_guy dans le forum Langage SQL
    Réponses: 8
    Dernier message: 29/06/2004, 11h04
  2. HELP!Comment supprimer des enregistrements de tables jointes
    Par ROOTPARIS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/06/2004, 16h41
  3. Réponses: 7
    Dernier message: 21/04/2004, 17h16
  4. Réponses: 3
    Dernier message: 29/12/2003, 13h47
  5. Enlever tous les M&Mme des enregistrements
    Par marc olivier dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/07/2003, 12h24

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