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 :

convertir un fichier dbf en fichier paradox 'db"


Sujet :

Bases de données Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut convertir un fichier dbf en fichier paradox 'db"
    je cherche un moyen ou un code source pour convertir un fichier dbf " dbase" en fichier paradox "delphi"

  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
    regarde DataPump fourni avec Delphi ...

    Sinon, ouvre ta table Dbase via un TTable, ouvre un autre TTable Paradox, copie les FieldDefs, puis fait les Append ...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 31
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par nour40 Voir le message
    je cherche un moyen ou un code source pour convertir un fichier dbf " dbase" en fichier paradox "delphi"
    Salut, je ne sais pas si c'est toujours d'actualité, mais je suis aussi dans cette problématique. Voici le bout de code que j'ai testé aujourd'hui et qui fonctionne. Je récupère une table *.dbf à laquelle j'accède avec le composant TaCycle1 et je la transpose dans la table TestCycle.db que j'accède au moyen du composant TaPdx créé dynamiquement.

    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
     
      //creation de la nouvelle table Pdox
      TaPdx := TTable.Create(nil);
      TaPdx.Active := False;
      TaPdx.TableType := ttParadox;
      TaPdx.TableName := ExtractFilePath(Application.ExeName) + 'TestCycle.db';
      //Au cas où suppression des définitions de champs existantes
      TaPdx.FieldDefs.Clear;
      //Ouverture de la table *.dbf
      TaCycle1.Open;
      //récupération des champs de l'ancienne table et copie vers la nouvelle
      For i := 0 To TaCycle1.FieldCount - 1 Do 
             TaPdx.FieldDefs.Add(TaCycle1.Fields[i].FieldName,
             TaCycle1.Fields[i].DataType,
             TaCycle1.Fields[i].Size,TaCycle1.Fields[i].Required);
      //Au cas où suppression des définitions de d'index existantes
      TaPdx.IndexDefs.Clear;
      //Les tables paradox doivent avoir au moins un index primaire
      TaPdx.IndexDefs.Add('',TaCycle1.Fields[0].FieldName,[ixPrimary]);
      //récupération et copie des index
      For i := 0 To TaCycle1.IndexDefs.Count - 1 Do
             TaPdx.IndexDefs.Add(TaCycle1.IndexDefs.Items[i].Name,
             TaCycle1.IndexDefs.Items[i].Fields,[ixCaseInsensitive]);
      //Création de la nouvelle table
      TaPdx.CreateTable;
      //Copie des enregistrement de la table *.dbf vers la table *.db
      TaPdx.BatchMove(TaCycle1,batAppendUpdate);
    Deux remarques :
    - je ne suis pas absolument certain que les tables paradox doivent comporter un index primaire mais il m'a fallu en créer un pour pouvoir monter la table dans une DBGrid,
    - je n'ai pas su récupérer les "options" des index de la table *.dbf (savoir si l'index est maintenu, unique et/ou descendant) pour les transposer vers la table *.db donc par défaut j'ai mis attribué l'option "ixCaseInsensitive" à tous les index de la nouvelle table... Si quelqu'un à une solution je suis preneur

  4. #4
    Membre averti

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Points : 332
    Points
    332
    Par défaut
    Bonjour,

    L'index primaire est obligatoire dans Paradox, alors qu'il n'existe pas pour dBase.

    PL

Discussions similaires

  1. convertir un fichier .DBF à un fichier txt TYPE sdf
    Par ilhemo dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/12/2010, 23h22
  2. Réponses: 15
    Dernier message: 28/11/2008, 17h57
  3. [Oracle/Admin] chg de repertoire fichiers dbf (suite)
    Par shaun_the_sheep dans le forum Administration
    Réponses: 20
    Dernier message: 03/11/2004, 15h03
  4. Lecture d'un fichier .dbf
    Par San Soussy dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 07/07/2004, 16h30
  5. Réponses: 7
    Dernier message: 04/06/2004, 15h20

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