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 :

Blob et GraphicEX


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Par défaut Blob et GraphicEX
    Bonjour,

    J'ai une base de données firebird et je souhaite ajouter un champ image.
    Pour des raisons de formats supportés j'utilise GraphicEX.
    Par contre je n'arrive pas a charger et a afficher un image que j'ai stockées dans la base en utilisant un MemoryStream ou meme un stream.


    Quelqu'un a deja fait ca?
    Un bout de code serait le bienvenue.

    Ludo

  2. #2
    Membre confirmé Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Par défaut Tiens
    Pour insere les images

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    With requete_query do
      Begin
         Active:=False;
         Sql.clear;
         Sql.Add('Insert into ta_table(id_ta_table, images) ' 
                  +' Values(3, :mon_image));
                         {On lui donne le chemin de l'image a charger dans la base}
          Parameters.ParaByName('mon_image').LoadFromFile(le_chemin, ftBlob);
           ExecSql;
       End;
    Et pour la recupere

    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
     
    Var MS:TMemoryStream;
    Begin
    MS:=TMemoryStream.Create;
     
    With Query_recupere Do
      Begin
          Active:=false;
          Sql.Clear;
          SQl.Add('Select image from ta_table where id_ta_table=3');
          ExecSql;
          Active:=True
       End;
    Try
                  {On auve dans leStream}
      TBlobField(Query_recupere .FieldByName('image')).saveToStream(MS);
                   {On se déplace au début du Stream}   
      MS.Position:=0;
                     {On affiche l'image}
      DBImage.Picture.Bitmap.LoadFromStream(MS);
    Finally
      MS.Free;   {On libere la memoire du Stream}
    End;
    Voilà avec ça sa fonctionne ! Mais sans tes composant GraphicEx

    Done moi la différence !

  3. #3
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Par défaut
    Salut,

    Avec ton code ca fonctionne tres bien.
    J ai trouve la solution tout seul.

    J ai rajoute aussi try catch au cas ou mon image est une jpg.
    Il semble que dans ce cas j ai une exception car picture.bitmap ne reconnait pas le jpg

    Ludo

  4. #4
    Membre confirmé Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Par défaut tiens
    j'ai résolue le problème y a un moment et je l'ai mis en ligne

    http://www.developpez.net/forums/vie...087&highlight=

Discussions similaires

  1. Réponses: 17
    Dernier message: 15/05/2006, 12h28
  2. Perte du contenu des blobs
    Par macakou99 dans le forum Débuter
    Réponses: 10
    Dernier message: 22/05/2003, 15h17
  3. Blob (interbase) d'une Database à l'autre
    Par TOM-Z dans le forum XMLRAD
    Réponses: 2
    Dernier message: 18/05/2003, 21h57
  4. faire un insert pour un champ blob
    Par tripper.dim dans le forum InterBase
    Réponses: 10
    Dernier message: 02/05/2003, 16h56
  5. BLOB et INSERT
    Par Thomad dans le forum Débuter
    Réponses: 3
    Dernier message: 25/04/2003, 15h32

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