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 :

mettre la base de données dans l'executable


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Par défaut mettre la base de données dans l'executable
    salut pour tous
    j'utilise Absolute database pour une application, et je souhaite integrer la base de données dans l'executable (comme ressource),j'ai réussi à mettre la base de données dans l'executable (en utilisant l'utilitaire fourni DBManager) mais je ne sais pas comment relier mes tables a cette base de données.

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Citation Envoyé par alili mostafa Voir le message
    salut pour tous
    j'utilise Absolute database pour une application, et je souhaite integrer la base de données dans l'executable (comme ressource),j'ai réussi à mettre la base de données dans l'executable (en utilisant l'utilitaire fourni DBManager) mais je ne sais pas comment relier mes tables a cette base de données.
    salut

    y'at-il pas une contradiction là ? si t'as réussi à mettre la BD dans l'exécutable et que la BD est constituée entre autre de tables et al, alors que veut dire "je ne sais pas comment relier mes tables à cette base de données"

    sauf erreur de ma part, ta question est trop floue !

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 093
    Par défaut
    Je pense qu'il parle de table comme ses objets TABSTable qui doivent être relié à son TABSDataBase, il ne sait pas comment lié DatabaseFileName à son Exe

    C'est une fonctionnalité de Absolute DataBase
    Database file could be merged with the application EXE file
    Tu peux embarquer le fichier DB dans l'exe, mostafa regarde la fonction MakeExecutableDatabase, tu devrais lire la documentation autour de cette fonction, tu as soit la réciproque soit DatabaseFileName peut accepter directement un Exe (voir si il y a une option)

    EDIT: Suffit de lire la Doc, comme prévisible, comme on ne peut pas modifier l'exe aussi facilement* que cela, il faut extraire la ressource, connecter la base de dessus, puis utiliser MakeExecutableDatabase pour merger de nouveau l'exe et la DB ... inutile et périlleux !
    Dommage, cela pourrait pu m'interesser pour des applis embarqués sur clé USB

    *pas facile mais pas impossible avec les pro du WriteProcessMemory
    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

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Par défaut
    j'ai inseré la base de données dans l'exe à l'aide de la méthode brcc32 (sous dos) puis j'ai utilisé ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TMain.FormShow(Sender: TObject);
    var Repertoire:string;
    Res: TResourceStream;
    begin
    Repertoire := ExtractFilePath(Application.ExeName);
      Res := TResourceStream.Create(0, 'MonData', RT_RCDATA);
      try
        Res.SaveToFile(Repertoire+'\Data.abs');
      finally
       Res.Free;
      end;
    ABSDatabase1.DatabaseFileName:=Repertoire+'\Data.abs';
    ABSDatabase1.Connected:=True;
    et ça marche trés bien

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 093
    Par défaut
    Pense à la fermeture de ton programme de ré-intégrer le fichier .abs dans ton exe
    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

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/03/2013, 16h05
  2. Réponses: 9
    Dernier message: 18/06/2010, 11h26
  3. base de donnée dans l'executable?
    Par judor31 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/01/2006, 13h59
  4. Réponses: 7
    Dernier message: 05/01/2005, 13h43
  5. Réponses: 4
    Dernier message: 29/11/2004, 16h51

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