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

 Delphi Discussion :

importer un enregistrement d'un fichier dans une table paradox


Sujet :

Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut importer un enregistrement d'un fichier dans une table paradox
    Salut tous .Un petit renseignement je travail avec une table paradox et delphi 7
    je voudrais savoir si il est possible d'importer et d'exporter un enregistrement d'une table paradox ?? a partir d'un fichier txt ou csv

    je vous explique j'ai créer un logiciel qui travail sur deux pc différant et pas au même endroit et chaqu'un des pc a le logiciel et la même base de donnée.Mais il est possible que l'un ou l'autre face une modification ou un enregistrement sur un membre ,d'ou ma question et il possible d'envoyer simplement l'enregistrement mis a jour ??

    en temps normal je fais envoyer toute la table ,mais je ne trouve pas pratique.

    pourriez vous me dire comment faire svp ,si vous avez un tuto

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 586
    Points : 25 262
    Points
    25 262
    Par défaut
    le TTable peut ouvrir un fichier ASCII au format CSV américain " et ,

    Tu peux aussi très bien utiliser un DB qui contient juste les différences des tables concernés avec une colonne en plus indiquant la modification, tu envoie le fichier DB, tu n'as plus qu'à le relire et le fusionner !

    Sinon un TClientDataSet et un XML peut aussi servir à créer ton journal de modification

    un défaut avec le DB ou XML Midas, il faut autant de fichier que de table

    une approche plus souple avec une structure verticale "TableName, FieldName, Value, Operation"
    Value doit pouvoir stocker différentes types de valeur, aussi bien string, integer ou float,
    Tu as autant de ligne que de modification, Google ou FaceBook utilise ce type de répresentation au lieu d'un mode relationnel classique

    Enfin, Paradox c'est obsolète depuis 10 ans !
    Passe à FireBird ou MySQL, soit en client serveur via WAN (avec sécurisation SSL ou un Tunneling SSH)
    Si tu veux conserver deux DB, il y a les systèmes de replication de DB pour résoudre ces problématiques !
    Des outils comme TALEND peuvent aussi apporter une solution pour l'import\export avec consolidation

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut merci
    Merci ShaiLeTroll mais la je suis perdu je comprend ce que tu dis ,mais j'ai jamais appliqué.
    ajouté un enregistrement a partir d'un fichier tel qui soit ,je ne trouve aucun tuto ou aide a ce sujet . J'ai peur de me lancer dans un truc a gaz.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 586
    Points : 25 262
    Points
    25 262
    Par défaut
    Citation Envoyé par tarmo57 Voir le message
    Merci ShaiLeTroll mais la je suis perdu je comprend ce que tu dis ,mais j'ai jamais appliqué.
    C'est justement l'occasion !

    Citation Envoyé par tarmo57 Voir le message
    ajouté un enregistrement a partir d'un fichier tel qui soit ,.
    je ne comprends pas cette phrase

    Citation Envoyé par tarmo57 Voir le message
    J'ai peur de me lancer dans un truc a gaz.
    Pourquoi ne commencer pas par un fichier DB Paradox contenant les colonnes que tu veux échanger
    Après tout, le fichier DB peut être utilisé comme un fichier d'échange, tu peux même le créer à la volée avec FieldDefs et CreateTable
    Et du côté receveur, avec FindField, tu cherches les champs dans la table cible !

    Pense à la mise à jour, comment identifier un enregistrement créé sur le Poste A avec l'AutoInc qui grimpe indépendamment du compteur du Poste B !
    Tu auras des doublons d'ID !

    une colonne Chaine contenant GUID pourrait te permettre d'avoir un ID unique à la fois chez A et chez B, il ne servira que durant l'import
    C'est la problématique de Consolidation lors d'un Import !

    L'Import-Export de données ce n'est pas juste une histoire de fichier, il y a tout une logique relationnel à penser !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut merci
    a vrai dire ce que je cherche a faire est:

    j'ai une table membre paradox avec comme enregistrement
    |id_membre| 1 |prenom| pascal
    |id_membre| 2 |prenom| franck
    |id_membre| 3 |prenom| martine


    maintenant je voudrais ajouter dans ma table
    |id_membre|4|prenom|paul
    qui ce trouverais sur un fichier text ou csv je ne sais pas encore.Je voudrais faire au plus simple


    et pouvoir faire l'inverse sélectionné dans un dbgrind par exemple un enregistrement existant de ma table et l'ajouter a un fichier text ou csv au plus simple

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 586
    Points : 25 262
    Points
    25 262
    Par défaut
    Pour écrire dans un CSV,
    Tu utilises un TStringList pour gérer les lignes (mode par défaut)
    un autre TStringList mais en utilisant DelimitedText ou CommaText pour définir les colonnes que tu ajouteras au 1er TStringList
    Tu finis par un SaveToFile du 1er TStringList

    Pour lire, idem un TStringList LoadFromFile
    Tu affecte à DelimitedText d'un second TStringList la Strings[] souhaité, cela va découper tout seul


    Sinon, utilise un autre TTable en TableType ASCII, au lieu d'avoir un fichier DB paradox, tu auras un fichier CSV américain

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut merci
    Citation Envoyé par ShaiLeTroll Voir le message
    Pour écrire dans un CSV,
    Tu utilises un TStringList pour gérer les lignes (mode par défaut)
    un autre TStringList mais en utilisant DelimitedText ou CommaText pour définir les colonnes que tu ajouteras au 1er TStringList
    Tu finis par un SaveToFile du 1er TStringList

    Pour lire, idem un TStringList LoadFromFile
    Tu affecte à DelimitedText d'un second TStringList la Strings[] souhaité, cela va découper tout seul


    Sinon, utilise un autre TTable en TableType ASCII, au lieu d'avoir un fichier DB paradox, tu auras un fichier CSV américain


    bon et bien merci a toi je me lance au travail. Je te tiendrais au courant .

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

Discussions similaires

  1. Import d'un fichier dans une table MySql
    Par jep33 dans le forum Langage
    Réponses: 2
    Dernier message: 04/11/2008, 16h27
  2. importer chemin + non du fichier dans une table
    Par popofpopof dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/04/2008, 19h47
  3. Comment importer un fichier xml ou csv dans une table paradox ?
    Par pierrot67 dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/09/2007, 15h35
  4. importé un fichier dans une table
    Par joe370 dans le forum Modélisation
    Réponses: 3
    Dernier message: 05/06/2007, 15h07
  5. enregistrer le chelin d'un fichier dans une table
    Par piscine dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/09/2004, 15h13

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