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 insérer une image dans un DBimage d'une table Paradox 7


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi
    Inscrit en
    Novembre 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2017
    Messages : 46
    Points : 26
    Points
    26
    Par défaut Comment insérer une image dans un DBimage d'une table Paradox 7
    Bonjour,

    Je cherche à insérer une image dans un DBimage d'une table créée avec Paradox 7. J'ai bien essayé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBimage1.LoadPicture();
    mais cela ne donne rien. J'ai aussi essayé de coller une image du presse-papier dans mon DBimage mais là rien non-plus.

    Quelqu'un saurait-il comment faire pour insérer dans une base de donnée Paradox une image ? J'ai bien sélectionné l'attribut "Graphic" dans ma table Paradox. Merci d'avance !

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi
    Inscrit en
    Novembre 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2017
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    En fait je viens de trouver la solution. Voici le code permettant d'insérer une image dans une base de données Paradox.

    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
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     
      if OpenPictureDialog1.Execute then
     
      begin
     
        dbimage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
     
      dbimage1.CopyToClipboard;
     
     
      dbimage1.PasteFromClipboard;
     
      Image1.Picture.Assign(dbImage1.Picture.Graphic);
     
      dbimage1.Refresh;
     
     
    end;
    end;

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    bonjour,
    un conseil,
    pour les images il est plus intéressant de sauvegarder le chemin de l'image que de sauvegarder l'image en elle même car sa risque de rendre votre base volumineuse.
    Bonne chance.
    Deux, n'apprendront pas; le timide et l'arrogant

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    deux choses :
    - tout d'abord j'aimerai signaler que cette question, fréquemment posée (deux fois rien que cette semaine) à une réponse dans la FAQ -
    - ensuite passer par le Clipboard, est original mais passer par un Stream en mémoire est tout aussi facile et efficace.


    @Hocine
    Pour ce qui est du stockage, il y a et y aura toujours deux écoles celle qui dit qu'il faut stocker l'image entière dans la base de données et celle qui prône l'inscription du nom complet de l'image plutôt que le contenu de celle-ci, (je ne parle pas de la solution ftp qui a été oubliée)

    Il y a du pour et du contre pour chacune des deux écoles
    Pro pour l'utilisation du chemin : le volume de la base de données Contre un fichier détruit l'image est perdu
    Pro pour le stockage de l'image : l'image ne risque pas d'être détruite par erreur ou autre (ransomware) contre effectivement le volume de la BDD (encore que les SGBD modernes permettent des Teras de stockage) mais surtout la gestion des blobs qui peut s'avérer délicat pas de SQL sur ces parties, et les temps de backups .
    Pour ce qui est des temps d'accès à l'image sensu stricto, le vainqueur est, à en croire certains, le stockage dans la BDD, plus rapide que le passage par l'OS (je n'ai plus l'article qui en parle). Pour ce qui est du nombre de fichiers les limites de windows sont explosées (toujours pour un SGBD moderne).

    En conclusion, c'est bien une stratégie d'entreprise que de choisir entre les deux (ou trois) approches
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. Comment insérer des images dans une ComboBox HTML ?
    Par UiYuki dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/08/2010, 15h35
  2. Réponses: 2
    Dernier message: 23/05/2010, 12h45
  3. comment insérer des images dans un formulaire
    Par Fusain dans le forum IHM
    Réponses: 1
    Dernier message: 08/06/2007, 17h38
  4. Réponses: 4
    Dernier message: 08/07/2006, 06h36
  5. Comment faire défiler une image dans un DBImage
    Par kolac dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/04/2006, 13h45

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