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

C++Builder Discussion :

Enregistrer une table Access dans un fichier "XML"


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut Enregistrer une table Access dans un fichier "XML"
    Bonjour

    Bonjour,

    Je cherche � enregistrer une table access dans un fichier "XML", et dans un autre programme je cherche � ins�rer le contenu du fichier "XML" dans une autre table access de m�me format.

    Ya t'il quelqu'un qui a d�j� tenter le coup ?

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut
    Pour l'enregistrement, j'ai utiliser la methode :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    MaTable -> SaveToFile("c:\\test.xml") ;

    Pour la lecture, j'ai utiliser la methode :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    MaTable2 -> LoadFromFile("c:\\test.xml") ;

    Je retrouve bien les enregistrements dans ma table, mais quand je quitte l'application et je relance l'execution, ma table est vide ???

    Ya t'il une explication !?!?

  3. #3
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Sur le Site un lien sur un tuto qui comporte plusieurs liens, une tres longue lecture

  4. #4
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut
    Citation Envoy� par kmaniche
    Je retrouve bien les enregistrements dans ma table, mais quand je quitte l'application et je relance l'execution, ma table est vide ???

    Ya t'il une explication

  5. #5
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut
    Citation Envoy� par kmaniche
    Ya t'il une explication
    Il y a quoi dans ton fichier XML ? Ca m'�tonnerais franchement que le contenu de ton fichier soit du XML...(m�me si dans ton cas �a ne devrait rien avoir � voir avec le fait que ta table soit vide).

  6. #6
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    Citation Envoy� par Neilos
    Il y a quoi dans ton fichier XML ? Ca m'�tonnerais franchement que le contenu de ton fichier soit du XML...(m�me si dans ton cas �a ne devrait rien avoir � voir avec le fait que ta table soit vide).
    tu m'�tonnes!!! si le savetofile s'organise pr mettre en xml comme un grand, je me suis fait chier pour rien...

    allez, suis sympa
    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
    void __fastcall ThreadExport::XMLExport(TDataSet * source,AnsiString dest)
    {
    SetMax(source->RecordCount);
     TXpObjModel* DOM = new TXpObjModel(NULL);
     TXpElement* elm;
     TXpElement* subelm;
     
     //Création de la balise XML
     DOM->FormattedOutput = true;
     DOM->Document->AppendChild(DOM->Document->CreateProcessingInstruction("xml","version =\"1.0\""));
     
     //Création de la balise root
     elm = DOM->Document->CreateElement("RootDocument");//ExtractFileName(dest));
     //DOM->Document->AppendChild(elm);
     
     //Ajout des enregistrements
     source->First();
     for (int t = 0; t < source->RecordCount; t++)       // nb d'enregistrements de la requête
        {
           subelm = elm->CreateChildElement("Entry");
           for (int i = 0; i < source->FieldCount; i++)     // ... et son nb de champs
               subelm->CreateChildElement(source->Fields->Fields[i]->DisplayName)
                            ->CreateChildText(source->Fields->Fields[i]->AsString);
           source->Next();
           Synchronize(Progress);
        }
     DOM->Document->AppendChild(elm);
     //Sauvegarde de l'arbre
     DOM->SaveToFile((dest.Pos(ExtractFileExt(".xml")) != 0
                            ?dest.SubString(0,dest.Pos(ExtractFileExt(".xml"))-1)
                            :dest)
                            +".xml");
     delete DOM;
    }
    A titre d'info, j'utilise XMLPartner

    le format du fichier en sortie :
    (pas hyper g�n�ric, je le con�ois)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    <RootDocument>
      <Entry>
        <nom_du_champ1>    </nom_du_champ1>
        <nom_du_champ2>    </nom_du_champ2>
        <nom_du_champ3>    </nom_du_champ3>
    [...]
      </Entry>
    </RootDocument>

  7. #7
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut
    Pas mal, c'est bien XMLPartner je ne connais pas du tout ?

  8. #8
    Membre �prouv� Avatar de cfdev
    Homme Profil pro
    Passionn�
    Inscrit en
    Octobre 2004
    Messages
    220
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Passionn�

    Informations forums :
    Inscription : Octobre 2004
    Messages : 220
    Par d�faut
    Lut,

    je suis interess� par la solution d'import avec le Dataset si ca fonctionne...
    mais je ne l'ai jamais utilis�, comment faut-il le parametrer ?

    merci

  9. #9
    Membre chevronn�

    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    531
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 531
    Par d�faut
    En import tu n'as rien � param�trer, il suffit que tes champs correspondent:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ADODataSet1->LoadFromFile("C:\\Table.xml");

Discussions similaires

  1. taille d'une table access dans la base
    Par chris401 dans le forum Access
    R�ponses: 6
    Dernier message: 13/09/2006, 16h56
  2. R�ponses: 6
    Dernier message: 16/06/2006, 13h22
  3. R�ponses: 5
    Dernier message: 25/04/2006, 09h33
  4. enregistrer une liste chain�e dans un fichier?
    Par ALF-Teams dans le forum C
    R�ponses: 7
    Dernier message: 08/03/2006, 18h42

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