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

Delphi Discussion :

DBImage et recuperation Image dans Base de données?


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Points : 35
    Points
    35
    Par défaut DBImage et recuperation Image dans Base de données?
    salut tt le monde,

    j'ai vu cette foum mais jai rien trouvé une information sur ma question.

    ma question est que: comment je peux recuperer mes images dans ma base de données Ms. access (j'ai sauvgarder que le chemin de l'image) dans mon composnat DBImage

    merci beaucoups

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    je ne vais pas répondre car le sujet a été traité plusieurs fois dans ce forum.
    alors, un peu de courage et de volonté

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par evarisnea

    je ne vais pas répondre car le sujet a été traité plusieurs fois dans ce forum.
    alors, un peu de courage et de volonté
    merci pour ta reponse,

    alors, j'ai cherché comme meme mais il n'y a aucun qui a donné une explication a mon pb, ils donnent des solutions mais limités pas généralisées. si tu pense que ce pb est traité tu peux m'indiquer le lien.

    merci a l'avance

  4. #4
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    bon déjà il faut savoir une chose, le DBImage récupère une image à partir d'un champ binaire (BLOB, BINARY, etc.) de la bd, ce qui implique généralement que l'utiliser signifie stocker directement son image dans la BDD (mauvais pour les performances).
    si je t'ai bien lu, tu stockes uniquement le chemin d'accès de l'image dans ta bdd, et l'image est sur le disque dur. il faudra donc utiliser un TImage en lieu et place du TDBImage, car ce dernier ne sera connecté au aucun champ de la table.

    voici ce que tu peux faire:
    -pour chaque enregistrement, (évènement AfterScroll par exemple)
    -lire le chemin d'accès de l'image dans la table (à l'aide du champ dans lequel est stocké le chemin d'accès)
    -ouvrir l'image à l'aide d'un TImage

    exemple concret ( de tête, non testé ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Query1AfterScroll(DataSet:TDataSet);
    begin
      if Dataset.RecNo >= 0 then
        if Dataset.FieldByName('CheminFichierImage').AsString <> '' then
          Image1.Picture.LoadFromFile(Dataset.FieldByName('CheminFichierImage').AsString)
        else
          Image1.Picture := nil;
    end;

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Points : 35
    Points
    35
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Query1AfterScroll(DataSet:TDataSet);
    begin
      if Dataset.RecNo >= 0 then
        if Dataset.FieldByName('CheminFichierImage').AsString <> '' then
          Image1.Picture.LoadFromFile(Dataset.FieldByName('CheminFichierImage').AsString)
        else
          Image1.Picture := nil;
    end;
    [/QUOTE]
    merci pour ton aide, si tu a remarque que cette solution presente des limitation.

    moi, je sauvgarde que les chemins des photos dans ma bdd (ms. access) mais le pb est comment je peux les lister si j'utilise TImage

    merci beaucoups.

  6. #6
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par kheldoun ahmed
    merci pour ton aide, si tu a remarque que cette solution presente des limitation.
    normal, puisqu'elle est donnée à titre indicatif. je ne sais pas exactement ce que tu veux, je te donne juste une piste en rapport avec ce que j'ai cru comprendre que tu voulais.

    Citation Envoyé par kheldoun ahmed
    moi, je sauvgarde que les chemins des photos dans ma bdd (ms. access) mais le pb est comment je peux les lister si j'utilise TImage

    merci beaucoups.
    qu'entends tu par lister ? lister quoi ? sais tu accéder aux informations d'une table d'une bd access à partir de delphi ?

    as tu pu essayer/adapter le code exemple que j'ai fourni ?

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par evarisnea
    as tu pu essayer/adapter le code exemple que j'ai fourni ?
    merci pour ta reponse,

    oui j'avais essayé ton code et il marche bien mais il ne s'affiche qu'un seul image puisque on utilise TImage.

    mais si on affiche la totalités des images sauvgardées (que leurs chemins) dans ma bdd ainsi que leurs caractéristiques alors quesque je peux utilse comment composant.


    merci en avance

  8. #8
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    j'ai comme un doute
    parcoure tu les enregistrements de ton jeu de données ?
    si ce n'est pas le cas, pose un TDBNavigator sur ta fiche et associe lui un Datasource lié à ton jeu de données. en exécution, utilise ce DBNavigator pour parcourir ton jeu de données et voir si l'image ne change pas.

    autre doute
    essayerais tu d'afficher simultanément toutes les images dont les chemins sont sauvés dans ta bd ?

Discussions similaires

  1. [MySQL] Récupérer image dans base de donnée
    Par semensoise dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/01/2009, 09h51
  2. [MySQL] Récupérer image dans base de données
    Par lelapinrusse dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 17/03/2008, 13h03
  3. insérer image dans base de données
    Par eriz dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 16/04/2007, 12h03
  4. inserer une image dans base de données ?
    Par ouldfella dans le forum Requêtes
    Réponses: 7
    Dernier message: 20/12/2006, 16h04
  5. [VB.NET]Champ image dans base de donnée access
    Par dankes dans le forum Windows Forms
    Réponses: 10
    Dernier message: 06/10/2005, 15h31

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