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 :

Stocker des photos dans une base access


Sujet :

Bases de données Delphi

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut Stocker des photos dans une base access
    Bonjour

    J'utilise Delphi 7 pro et une base Access.

    Dans cette base j'ai une table suivi de chantiers.

    Je dois stocker par chantier quelques photos de chaque chantier.

    Avez-vous une expérience dans ce domaine ?

    D'avance merci

    Cordialement

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 316
    Par défaut
    tt dépend de la taille des photos, si elles sont volumineuses, il vaudrait peut etre mieux stocker les adresses de tes photos sinon en sql il existe blob, en access il doit exister un pendant

  3. #3
    Membre éclairé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Par défaut
    Bonjour,
    je pense qu'il est préférable de stocker des photos dans un dossier à part et d'indiquer le chemin dans un champ de ta bdd.
    Je pratique cette solution avec Access et c'est impec et fluide.

    André

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Bonjour,

    La taille des photos, je ne sais pas mais je pense vers les 100 ko.

    Effectivement, je pense stocker l'adresse des photos dans une table pour ne pas trop gonfler ma base.

    Ceci dit je me pose plusieurs questions:

    Comment faire au moment de l'ajout d'une photo pour créer une nouvelle image et y stocker la photo.

    Comment faire le lien entre la photo sur mon formulaire et son emplacement?

    D'avance merci

  5. #5
    Membre Expert
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Par défaut
    Je ne sais pas si ton problème est toujours d'actualité mais ce tutoriel peut t'aider à gérer tes photos.

  6. #6
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    si vous voullez stocker vos photo dans la tables utilise un champs de type OLE et un DBImage si le nombre de chantier et important et les photo sont de petit taille le mieux c des placer les photo dans une autres table lier.

    out sotocker le lien de limge dans ta table ou dans une tables anexe pour pouvoir avoir plusieur image. et gérer l'affiche des image dans l'évenement OnDatachange de ton DataSource

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Bonjour,

    continuant à chercher pour intégrer mes photos dans une base Access 2000 avec D7 je viens de voir vos réponses. Je m'excuse de ne pas avoir répondu plus tôt, je pensais que que ce post était tombé dans les oubliettes.

    En fait je n'arrive pas à intégrer mes photos dans le champ BLOB.

    Quand je lance 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
    14
     
    try
      OpenPictureDialog1 := TOpenPictureDialog.Create(self);
      OpenPictureDialog1.InitialDir := GetCurrentDir;
      OpenPictureDialog1.Options := [ofAllowMultiSelect];
      OpenPictureDialog1.Filter := 'Images (*.bmp;*.jpg)|*.bmp;*.jpg';
      if OpenPictureDialog1.Execute then begin
        DM.TBLPHOTOS.Open;
        DM.TBLPHOTOS.Append;
        DM.TBLPHOTOS.FieldByName('id_chantier').AsInteger:=  DM.tblDetailChantierid_Chantier_Contact.Value;
        end;
      finally
        OpenPictureDialog1.Free;
      end;
    j'ai un message me disant 'TBLPHOTOS champ PHOTO non trouvé.'

    Or ce champ existe, d'ailleurs quand je vais dans les propriétés du DBImage, ce champ est bien affiché.

    Je ne comprends pas, mais je cherche....

    Cordialement

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Re,

    j'ai trouvé le pourquoi de mon message d'erreur.

    Mais quelqu'un peut me donner la syntaxe pour intégrer ma photo dans la table?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DM.TBLPHOTOS.FieldByName('Photo').As ??????
    Cordialement

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Bonsoir,

    de guerre lasse j'ai opté pour stocker le lien dans un champ de ma table, mais je n'arrive pas à synchroniser le lien et l'affichage de la photo.

    Je m'explique:
    Chaque chantier peut avoir plusieurs photos. Donc pour les visualiser
    j'utilise un DBCtrlGrid et un TImage pour afficher toutes les images et les commentaires pour chaque chantier.

    Comment je peux faire pour afficher toutes les photos du chantier dans mon DBCtrlGrid ? Sur quel évènement ?

    J'ai. entre autres, essayé OnDataChange mais ce n'est pas bon car je dois afficher plusieurs enregistrement.

    D'avance merci

    Cordialement

  10. #10
    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
    Par défaut


    Citation Envoyé par codial
    Re,

    j'ai trouvé le pourquoi de mon message d'erreur.

    Mais quelqu'un peut me donner la syntaxe pour intégrer ma photo dans la table?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DM.TBLPHOTOS.FieldByName('Photo').As ??????
    Cordialement
    ceci ne résout pas le problème ?
    http://delphi.developpez.com/faq/?pa...ichierdansblob

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Bonjour,


    j'ai regardé ton lien, mais, apparemment, on ne peut charger que des Bitmap or je dois arriver à charge au moins du jpeg pour afficher les photos dans un DBImage.

    Avec un TImage c'est possible, mais là je bute sur la cohérence entre le lien et l'affichage de mes images dans un DBCtrlGrid.

    Cordialement

  12. #12
    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
    Par défaut
    Citation Envoyé par codial
    Bonjour,


    j'ai regardé ton lien, mais, apparemment, on ne peut charger que des Bitmap or je dois arriver à charge au moins du jpeg pour afficher les photos dans un DBImage.

    Avec un TImage c'est possible, mais là je bute sur la cohérence entre le lien et l'affichage de mes images dans un DBCtrlGrid.

    Cordialement

    tu as bien vu le lien non? "Comment insérer et récupérer un fichier dans un champ de type BLOB ?"
    c'est générique, avec ca tu peux sauvegarder tout type de fichier dans n'importe quelle base de données du moment qu'elle accepte des champs de type données binaires comme BLOB ou MEMO ou ...
    Malatar a même montré un exemple pour insérer et récupérer un fichier bitmap.
    si tu as un fichier bitmap, tu peux facilement le convertir en fichier JPeg et vice versa, recherche des exemples sur le forum ou dans la FAQ.


  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Bonjour,

    oui j'ai bien vu le lien et j'ai testé mais j'ai un message d'erreur
    'Image bitmap incorrecte'

    par ailleurs, je ne veux pas que l'itilisateur est à changer à chaque fois un jpeg en bitmap pour l'insérer dans sa base.

    mais merci beaucoup pour l'aide je continue de chercher.

    Cordialement

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut Tester si une table existe dans une base Access
    Bonjour,

    j'ai une requête qui créé une table dans une base access 2000.

    J'aimerais savoir comment tester, avant de lancer cette requête, si cette table existe déja ou pas dans la base.

    J'utilise D7, base access 2000 et ADO

    D'avance merci

    Cordialemenr

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Bonsoir,

    désolé je me suis trompé. je pensais etre sur une nouvelle discussion.

    Cordialement

Discussions similaires

  1. stocker des données dans une base sqlserve
    Par Halloula dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/02/2008, 19h59
  2. Comment stocker un réel dans une base Access avec ADO ?
    Par thibouille dans le forum Bases de données
    Réponses: 1
    Dernier message: 27/11/2007, 09h59
  3. Réponses: 1
    Dernier message: 27/09/2006, 09h50
  4. Stocker / Extraire des fichiers dans une base Access
    Par bryan_fury75 dans le forum Bases de données
    Réponses: 5
    Dernier message: 14/06/2006, 16h17
  5. Comment stocker des images dans une base de données ?
    Par [Silk] dans le forum Bases de données
    Réponses: 4
    Dernier message: 21/07/2005, 12h29

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