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 :

Comment sauvergarder les fichiers d'une BDD ?


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 70
    Points : 54
    Points
    54
    Par défaut Comment sauvergarder les fichiers d'une BDD ?
    bnj mes chers amis ,
    je dévellope une application de gestion de paie.délphi7
    1.j'ai créer les tables(employés, postres,banques,..)
    les interfaces, il me restent à réaliser les bultin de paie.
    ma question:
    Comment sauvegarder les fichiers des employés, des banques, des postes..de façonque si le comptable change de pc, ou que pour chaque année il est un repertoire dans lequeel il exite tous les fichier des employés.
    merci àtous

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Ta base de données ? Paradox ?
    Pourquoi ne pas mettre les fichiers sur un Serveur ?
    Pourquoi changerait-il les fichiers pour chaque année ? pour gérer l'exercice ? le volume de donnée serait-il si important (plusieurs millions de ligne ?)
    Si c'est du Paradox, c'est de simple fichier à copier, tu peux avoir plusieurs base (plusieurs répertoire), l'un étant permanent (Employés, Banque ...), l'autre changeant à chaque exercice (Bulletin, Congés ...) mais cela risque de compliquer énormément ?

    Sinon, MySQL est plus robuste, et fonctionne via les composants ADO et un driver ODBC ou des composants dédié comme MyDAC de CoreLab

    Juste comme ça, développer un logiciel de paye, c'est un côut assez important en interne, un logiciel comme ceux d'EBP n'aurait pas été moins cher, surtout pour gérer les lois concernant les heures supplémentaires et autres ?
    Dans ma société, nous avons aussi réalisé un logiciel de paye (commandité par un client), il envoie des données vers d'autre logiciel de paye ou de compta... n'ayant pas encore programmer dedans, je ne sais pas jusqu'où s'étend son spectre applicatif (il est très spécifique, car bcp d'employés sont hors France ou EU) ....
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 70
    Points : 54
    Points
    54
    Par défaut
    bnjr, merci pour votre réponse rapide,
    je travaille avec délphi7 ( paradox)..
    pourriez vous m'expliquer par ou je commance pour réaliser ce que vous suggérer ici:
    Si c'est du Paradox, c'est de simple fichier à copier, tu peux avoir plusieurs base (plusieurs répertoire), l'un étant permanent (Employés, Banque ...), l'autre changeant à chaque exercice (Bulletin, Congés ...) mais cela risque de compliquer énormément ?

    merci bcp a++

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Alors normalement, tu as un DataModule sur lequel tu as mis un TDataBase avec l'alias correspondant au BDE (AliasName) ou le Dossier contenant les Fichiers .DB (Directory), et tes tables utilisent comme DataBaseName celui renseigné dans le TDataBase

    Donc tu vas créer deux TDataBase, l'un sur les tables qui reste d'année en année (disons Objet DBPersistentData avec le Dossier S:\Appli\PersistentData), un autre TDataBase sur un répertoire qui change chaque année (Objet YearData avec les dossiers S:\Appli\YearData2007, S:\Appli\YearData2008, ...).
    Tu as aussi un troisième répertoire contenant des fichiers .DB vide pour la structure (on peut faire plus subtile mais bon), que l'on va appelé EmptyYearData (S:\Appli\EmptyYearData), ces fichiers sont en lecture seules
    S: étant un disque réseau par exemple sur un Serveur dédié (cela est une autre histoire voir sur le forum Paradox, multi-utilisateur, Samba, ... sinon cela sera C:\Appli\...)

    Pour PersistentData, tu peux renseigner l'alias ou le répertoire directement en Delphi
    Pour YearData, tu dois le remplir dans le OnCreate du DataModule, genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBYearData.Directory := Format('S:\Appli\YearData%s', [FormatDateTime('YYYY', Now()]);
    tu as un répertoire EmptyData
    Tu fais donc
    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
    if not DirectoryExists(DBYearData.Directory) then
    begin
      ForceDirectories(DBYearData.Directory);
      // Copie des fichiers Vierges
      EmptyDataRootDir := 'C:\Appli\EmptyYearData\';
      try
         if FindFirst(EmptyDataRootDir + (*.*), faAnyFile - faDirectory, SearchItem ) = 0 then begin
            repeat
               if CopyFile( PChar(EmptyDataRootDir + SearchItem.Name), PChar(DBYearData.Directory + '\' + SearchItem.Name), True ) then
                 SetFileAttributes( DBYearData.Directory + '\' +  SearchItem.Name), FILE_ATTRIBUTE_NORMAL);                             
            until not ( FindNext(SearchItem) = 0 ); // Continuer tant que FindNext renvoi 0
         end;
      finally
        FindClose(SearchItem);
      end;
     
    end;
    Voilà, dès que tu lance l'appli, cela vérifie l'année, et créer les ficheirs pour la nouvelle année automatiquement ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 70
    Points : 54
    Points
    54
    Par défaut
    bnj,merci bcp pour votre aide..
    dans mon appl il ya toutes les tables dans le chemin:
    C:\Gestion De Paie\Donnees que j'ai créer avec le gestionnaire d'alias..(les tables qui persistent)
    donc je doit créer avec le getionnaire d'alias :
    C:\Gestion De Paie\YearData qui contient les meme tables..
    et je met dans un nouvau datamodule (contenant le nouvel alias) -on créate -l'inst:
    DBYearData.Directory := Format(C:\Gestion De Paie\YearData%s', [FormatDateTime('YYYY', Now()]);
    j'ai eu l'erreur:identificateur non déclaré: dbyeardata.

    Etant débutante en délphi j'ai pas compris le reste des instructions..

    aidez moi meme par une documentation
    a++

Discussions similaires

  1. Réponses: 7
    Dernier message: 09/07/2009, 11h35
  2. Réponses: 2
    Dernier message: 24/01/2008, 18h24
  3. Réponses: 3
    Dernier message: 31/01/2007, 17h46
  4. comment transférer les information d'une bdd a un document word
    Par Hamza dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/05/2006, 19h46
  5. [Type de données]Comment sauvegarder fichiers dans une bdd?
    Par splinternabs dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 06/04/2006, 15h14

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