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 :

Insérer une image issue d'une bdd sql


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Insérer une image issue d'une bdd sql
    Bonjour à tous, voici mon probleme :
    Je developpe une application sous delphi7 / sql serveur 2000 dans laquelle j'ai besoin d'afficher plusieurs images au hasard. Les chemins d'acces aux images sont stockés dans ma base de données sql.
    Quels éléments utiliser et de quelle maniere?
    Je m'en sors pas!
    Merci d'avance pour votre aide

    PS (pour tous ceux qui diront le contraire) : J'ai cherché la réponse a ma question sans succes si un topic similaire (resolu) existe soyez sympas donnez moi le lien de la page.

  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

    juste une idée comme ça: en supposant que la partie connection à la bd et ouverture de ta table ne te pose aucun problème, voici une piste de solution.
    tu poses un TImage sur la form.
    dans l'évènement AfterScroll de ton DataSet tu charge l'image dans le TImage à partir du chemin récupéré de ta bd:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
      if Table1.FieldByName('Chemin').AsString <> '' then
        Image1.Picture.LoadFromFile(Table1.FieldByName('Chemin').AsString)
      else
        Image1.Picture := nil;
    ...

  3. #3
    atb
    atb est déconnecté
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Novembre 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Autre

    Informations forums :
    Inscription : Novembre 2004
    Messages : 639
    Points : 929
    Points
    929
    Par défaut
    Bonjour ,
    si dans ta base tu as les chemins et tu utilise une architecture client serveur ,pour acceder et afficher l'image le client doit avoir le droit d'acceder en lecture seul par exemple au répértoir des images (independamentcdu sgbd)

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci de vos reponses je teste ca ce soir et vous tiens au courant

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par evarisnea

    juste une idée comme ça: en supposant que la partie connection à la bd et ouverture de ta table ne te pose aucun problème, voici une piste de solution.
    tu poses un TImage sur la form.
    dans l'évènement AfterScroll de ton DataSet tu charge l'image dans le TImage à partir du chemin récupéré de ta bd:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
      if Table1.FieldByName('Chemin').AsString <> '' then
        Image1.Picture.LoadFromFile(Table1.FieldByName('Chemin').AsString)
      else
        Image1.Picture := nil;
    ...
    Je viens juste d'essayer ca. Quelques petites modifs et ca marche impec Merci beaucoup evarisnea!!!

  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 Colieri
    Je viens juste d'essayer ca. Quelques petites modifs et ca marche impec Merci beaucoup evarisnea!!!
    de rien.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Fausse joie
    Bonjour à tous,
    je dois revenir sur le [resolu] ca a marché une fois sur une image test et des que j'ai voulu l'appliquer à l'image définitive de mon application ca n'a plus marché.
    Je précise en plus que je dois pouvoir utiliser la commande plusieurs fois de suite tout en gardant la form ouverte à l'aide d'un boutton.
    Merci d'avance pour votre aide.

  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
    eh bien ...
    peux tu nous dire ce que tu as fais exactement ?
    ça ne marche pas veut dire quoi, qu'il y a une erreur ? laquelle ? lorsque tu fais quoi ?

    sois un tout petit peu plus explicite stp.

    il faut par ailleurs tenir compte de ceci :
    Citation Envoyé par atb
    Bonjour ,
    si dans ta base tu as les chemins et tu utilise une architecture client serveur ,pour acceder et afficher l'image le client doit avoir le droit d'acceder en lecture seul par exemple au répértoir des images (independamentcdu sgbd)

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    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 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    [D3]
    j'ai un programme éprouvé qui fait ce genre de chose avec des fichiers
    (reseau 20 postes , images sur un serveur, IB)

    BMP et JPG (clause uses JPEG)

    morceaux choisi

    serveurimage est le repertoire des "fichiers images" table TModele

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TModeleForm.DModeleDataChange(Sender: TObject; Field: TField);
    begin
    if (Field=nil) OR (Field.FieldName='IMAGE') then
     try
       Image1.Picture.LoadFromFile(ServeurImage+'\'+TModeleIMAGE.Value);
       Image1.Visible:=True;
     except
       Image1.Visible:=False;
     end;
    end;
    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

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Merci beaucoup mais...
    Citation Envoyé par SergioMaster
    [D3]
    j'ai un programme éprouvé qui fait ce genre de chose avec des fichiers
    (reseau 20 postes , images sur un serveur, IB)

    BMP et JPG (clause uses JPEG)

    morceaux choisi

    serveurimage est le repertoire des "fichiers images" table TModele

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TModeleForm.DModeleDataChange(Sender: TObject; Field: TField);
    begin
    if (Field=nil) OR (Field.FieldName='IMAGE') then
     try
       Image1.Picture.LoadFromFile(ServeurImage+'\'+TModeleIMAGE.Value);
       Image1.Visible:=True;
     except
       Image1.Visible:=False;
     end;
    end;
    Bonjour,
    le probleme est que je ne comprends pas ton code
    si tu pouvais le commenter et donner un nom de table, d'image... ce serait plus clair pour moi

    voila ma config si tu peux me construire un exemple avec ca :
    -une table "table1" (carte_num, ..., carte_img) // carte_img est en fait le chemin d'acces a l'image
    -un query "query1" (SELECT TOP 1 carte_img, carte_num
    FROM carte
    ORDER BY NEWID()
    -plusieurs images "image1", "image2", "image3", ...

    merci d'avance

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour a tous.
    Ca y est j'ai trouvé la solution a tous mes problèmes.
    Je devais afficher un certain nombre d'images dont les chemins étaient dans une BDD de manière aléatoire et voila comment j'ai fais si ca peut aider quelqu'un:

    1- Utilisation d'un Tquery pour faire une requete aleatoire sur mes images.
    2- Sur l'évènement Tbuttonclick il suffit de recuperer le chemin de l'image dans la BDD et de l'attribuer a la propriété "picture" de l'objet Timage désiré de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image1.Picture.LoadFromFile(query1chemin.Value);
    "chemin" correspond a la propriété de la BDD qui contient le chemin de l'image que l'on veut afficher.

    Merci à tous pour votre aide.

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

Discussions similaires

  1. Affichage d'une image issue d'une base
    Par evrson007 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/12/2013, 11h14
  2. Réponses: 4
    Dernier message: 19/06/2008, 15h41
  3. position dans une image (selection dans une image)
    Par kaiseresis dans le forum Images
    Réponses: 3
    Dernier message: 31/05/2008, 13h30
  4. Convertir une image jpeg en une image .ico. .
    Par sonja dans le forum Imagerie
    Réponses: 5
    Dernier message: 14/05/2007, 18h41
  5. Afficher une image issue d'une requête SQL
    Par aygitci dans le forum Langage
    Réponses: 1
    Dernier message: 14/03/2007, 09h12

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