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 :

modifier une image dans un champ blob


Sujet :

Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut modifier une image dans un champ blob
    salut tous j'ai un petit problème sur la modification d'un champ blop avec un Query
    j'ai donc une première foi enregistrer mon image dans un champ blob come ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DataModule2.TableMembre.FieldByName('Symbol').Value:=Symbol.Text;
    if Titre.Text='Mr' then
     DataModule2.TableMembre.FieldByName('Symbol').Assign(Image5.Picture.Bitmap)
    else
    DataModule2.TableMembre.FieldByName('Symbol').Assign(Image4.Picture.Bitmap);
    maintenant j'ai besoin de modifier mon champ blob ,mais je ne trouve pas la solution.
    Vous l'avez compris j'ai le choix entre plusieurs image si mon champs titre est égale à Mr etc...

    moi j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DataModule2.Query1.SQL.Clear;
    DataModule2.Query1.SQL.Add('Update matable.DB set Sexe = '+ QuotedStr(Titre.Text)
    +',Nom = '+ QuotedStr(Nom.Text)
    +',Prenom = '+ QuotedStr(Prenom. text)
    +',Symbol = '+ QuotedStr(Symbol.text)
    +',Symbol = '+ QuotedStr(Image4.Picture.Bitmap);//j'ai fais mon choix d'image
    +' where Idmembre ='+ QuotedStr(Id.caption)+'');
    DataModule2.Query1.ExecSQL;
    merci de votre aide

  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


    quel est le message d'erreur ?
    à quoi correspond le champ Symbol ?
    c'est lui le champ BLOB ?
    pourquoi lui assigner du texte,
    Citation Envoyé par tarmo57
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataModule2.TableMembre.FieldByName('Symbol').Value:=Symbol.Text;
    puis une image ?
    Citation Envoyé par tarmo57
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if Titre.Text='Mr' then
     DataModule2.TableMembre.FieldByName('Symbol').Assign(Image5.Picture.Bitmap)
    else
    DataModule2.TableMembre.FieldByName('Symbol').Assign(Image4.Picture.Bitmap);

    ne le dira-t-on jamais assez ? les paramètres c'est bon, mangez-en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    DataModule2.Query1.SQL.Clear;
    DataModule2.Query1.SQL.Add('Update matable.DB set Sexe = :Sexe'
    +',Nom = :Nom'
    +',Prenom = :Prenom'
    +',Symbol = :Symbol'
    +',Symbol2 = :Symbol2'
    +' where Idmembre = :Idmembre');
    DataModule2.Query1.ParamByName('Sexe').AsString := Titre.Text;
    DataModule2.Query1.ParamByName('Nom').AsString := Nom.Text;
    DataModule2.Query1.ParamByName('Prenom').AsString := Prenom.Text;
    DataModule2.Query1.ParamByName('Symbol').AsString := Symbol.Text;
    DataModule2.Query1.ParamByName('Symbol2').Assign(Image4.Picture.Bitmap);
    DataModule2.Query1.ParamByName('Idmembre').AsString := Id.Caption;
    DataModule2.Query1.ExecSQL;
    et puis l'instruction WITH me semble appropriée ici pour plus de lisibilité:
    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
    with DataModule2.Query1 do 
    begin
      SQL.Clear;
      SQL.Add('Update matable.DB set Sexe = :Sexe'
        +',Nom = :Nom'
        +',Prenom = :Prenom'
        +',Symbol = :Symbol'
        +',Symbol2 = :Symbol2'
        +' where Idmembre = :Idmembre');
      ParamByName('Sexe').AsString := Titre.Text;
      ParamByName('Nom').AsString := Nom.Text;
      ParamByName('Prenom').AsString := Prenom.Text;
      ParamByName('Symbol').AsString := Symbol.Text;
      ParamByName('Symbol2').Assign(Image4.Picture.Bitmap);
      ParamByName('Idmembre').AsString := Id.Caption;
      ExecSQL;
    end;

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut apres test
    Merci de ton aide evarisnea
    J'ai donc une erreur je vais te montrer le code que j'ai fais en amont
    dans ma table paradox mon champ BLOB et Symbol (Type G )
    Quand j'enregistre j'ai le choix entre deux images (Image4 et image5)par rapport
    au champs d un combobox (Mr ,Mme, Mlle) .
    l'enregistrement dans ma table ok
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    DataModule2.TableMembre.Append;
    DataModule2.TableMembre.Edit; // Positionne la table en mode Edition
    DataModule2.TableMembre.FieldByName('Sexe').Value := Titre.Text;
    DataModule2.TableMembre.FieldByName('Nom').Value := Nom.Text;
    DataModule2.TableMembre.FieldByName('Prenom').Value := Prenom.Text;
     
    if Titre.Text='Mr' then
     DataModule2.TableMembre.FieldByName('Symbol').Assign(Image5.Picture.Bitmap)
    else
    DataModule2.TableMembre.FieldByName('Symbol').Assign(Image4.Picture.Bitmap);
     
    DataModule2.TableMembre.Post();
    l'enregistrement se passe bien et je peux relire mon image sans problème avec un DBimage.
    Maintenant j'ai besoin de la modifier toujours par rapport a mon combobox (Mr ,Mme, Mlle)
    je fais
    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
     
    with DataModule2.Query1 do 
    begin
      SQL.Clear;
      SQL.Add('Update assos_membre.DB set Sexe = :Sexe'
        +',Nom = :Nom'
        +',Prenom = :Prenom'
        +',Symbol = :Symbol'
        +' where Idmembre = :Idmembre');
      ParamByName('Sexe').AsString := Titre.Text;
      ParamByName('Nom').AsString := Nom.Text;
      ParamByName('Prenom').AsString := Prenom.Text;
      ParamByName('Symbol').Assign(Image4.Picture.Bitmap);
      ParamByName('Idmembre').AsString := Id.Caption;
      ExecSQL;
    end;
    pour le choix de l'image je le fais plus haut la je teste avec une seule image
    dans Symbol.text j'ai l'adresse de l'image sur mon disque dur ?? pourquoi je ne sais pas vraiment je crois l'avoir lu.
    et j'ai le message d'erreur
    Le projet1.exe a provoqué une classe d'exception EDBEngineError avec le message 'Différence de type dans une expression.'. Processus stoppé.
    Merci de ton aide

  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
    comme je l'ai remarqué plus haut dans mon précédent post, peut être à un moment tu écris du texte plutôt qu'une image dans le champ blob. et puis, pourquoi Symbol.text fait-il référence au champ blob censé contenir l'image

    pour le message d'erreur, vérifie les valeurs. genre, si le champ IdMembre est de type numérique, Id.Caption contient bien une valeur numérique ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut
    Citation Envoyé par evarisnea Voir le message
    comme je l'ai remarqué plus haut dans mon précédent post, peut être à un moment tu écris du texte plutôt qu'une image dans le champ blob. et puis, pourquoi Symbol.text fait-il référence au champ blob censé contenir l'image

    pour le message d'erreur, vérifie les valeurs. genre, si le champ IdMembre est de type numérique, Id.Caption contient bien une valeur numérique ?
    oui tu as raison c du text dans symbol.text
    je dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    +',Symbol = :Image4
    ??'

  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
    à mon avis, tu devrais créer un second champ, et ainsi avoir un champ qui contient uniquement l'image (le champ blob) et un champ qui ne contient que du texte (pour symbol).

    pourquoi écris-tu dans le même champ tantôt une image et tantôt du texte ?


  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut j'ai fais
    Citation Envoyé par evarisnea Voir le message
    à mon avis, tu devrais créer un second champ, et ainsi avoir un champ qui contient uniquement l'image (le champ blob) et un champ qui ne contient que du texte (pour symbol).

    pourquoi écris-tu dans le même champ tantôt une image et tantôt du texte ?

    oui j'a fais mon champs symbol et un champ blob avec que l'image j'ai fais
    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
    with DataModule2.Query1 do 
    begin
      SQL.Clear;
      SQL.Add('Update assos_membre.DB set Sexe = :Sexe'
        +',Nom = :Nom'
        +',Prenom = :Prenom'
        +',Symbol = :Image4'
        +' where Idmembre = :Idmembre');
      ParamByName('Sexe').AsString := Titre.Text;
      ParamByName('Nom').AsString := Nom.Text;
      ParamByName('Prenom').AsString := Prenom.Text;
      ParamByName('Symbol').Assign(Image4.Picture.Bitmap);
      ParamByName('Idmembre').AsString := Id.Caption;
      ExecSQL;
    end;
    mais j'ai un e erreur
    Query1 parametre 'Symbol' non trouvé

  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
    bon, c'est bien parce que c'est dimanche ...

    je t'invite à relire l'aide en ligne delphi au sujet des paramètres.

    ton message d'erreur provient du fait que tu n'as déclaré aucun paramètre nommé Symbol dans ta requête. le champ symbol obtient sa valeur plutôt du paramètre Image4.
    sois un peu plus attentif, tu aurais du constater que devant chaque champ de la requête, lui est affectée une valeur sous la forme d'une "variable" préfixée de ":". c'est cela tes paramètres. pour le champ symbol, tu as une variable nommée Image4. mais lorsque tu affecte des valeurs à tes paramètres, tu utilises Symbol (inconnu comme paramètre) en lieu et place de Image4.

  9. #9
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Salut.
    Citation Envoyé par tarmo57 Voir le message
    (...) aux champs d'un combobox (Mr, Mme, Mlle). (...)
    Bon, ça n'a rien à voir avec ton problème informatique, mais moi j'aime la culture française et je la défends, et j'essaye de la maintenir, aussi.

    Et en l'espèce, ici, il s'agit de « M., Mme, Mlle » si l'on veut être rigoureux (« Mr » c'est de l'anglais, ça !)
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut
    Citation Envoyé par evarisnea Voir le message
    bon, c'est bien parce que c'est dimanche ...

    je t'invite à relire l'aide en ligne delphi au sujet des paramètres.

    ton message d'erreur provient du fait que tu n'as déclaré aucun paramètre nommé Symbol dans ta requête. le champ symbol obtient sa valeur plutôt du paramètre Image4.
    sois un peu plus attentif, tu aurais du constater que devant chaque champ de la requête, lui est affectée une valeur sous la forme d'une "variable" préfixée de ":". c'est cela tes paramètres. pour le champ symbol, tu as une variable nommée Image4. mais lorsque tu affecte des valeurs à tes paramètres, tu utilises Symbol (inconnu comme paramètre) en lieu et place de Image4.
    Merci Evarisnea j'ai bien lu ton message et la je crois que je suis perdu .Si je comprend bien je dois créer un Symbol.text ? Avec le chemin de l'image ?
    merci d'avance

  11. #11
    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
    tu as consulté l'aide au moins ?

    ton erreur vient du fait que tu veux accéder à un paramètre qui n'existe pas dans ton SQL, le message est clair
    Query1 parametre 'Symbol' non trouvé
    ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ParamByName('Symbol').Assign(Image4.Picture.Bitmap);
    devrait plutôt être celui-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ParamByName('Image4').Assign(Image4.Picture.Bitmap);
    vu que ta requête fait mention d'un paramètre Image4 pour la valeur du champ Symbol
    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
    with DataModule2.Query1 do 
    begin
      SQL.Clear;
      SQL.Add('Update assos_membre.DB set Sexe = :Sexe'
        +',Nom = :Nom'
        +',Prenom = :Prenom'
        // le champ symbol a pour paramètre Image4 -----------
        +',Symbol = :Image4'
        +' where Idmembre = :Idmembre');
      ParamByName('Sexe').AsString := Titre.Text;
      ParamByName('Nom').AsString := Nom.Text;
      ParamByName('Prenom').AsString := Prenom.Text;
      ParamByName('Symbol').Assign(Image4.Picture.Bitmap);
      ParamByName('Idmembre').AsString := Id.Caption;
      ExecSQL;
    end;

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut je reprend
    evarisnea vraiment toutes mes excuses mais je nage grave ,pourtant je vois que tu te donne du mal pour me donné les bonnes lignes de code.
    je reprend pour faire simple car j'ai surement mal expliqué mon problème je vais joindre deux petite photo.
    je veux mettre a jour un champs blob graphique du nom de Symbol

    http://doc-0o-bs-docs.googleusercont...ZkZDFhZGUwNTNm

    avec l'image la
    http://doc-08-bs-docs.googleusercont...A5MzQ3ZDJlYTg4

    j'ai fais sa
    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
    with DataModule2.Query1 do 
    begin
      SQL.Clear;
      SQL.Add('Update assos_membre.DB set Sexe = :Sexe'
        +',Nom = :Nom'
        +',Prenom = :Prenom'
        +',Symbol = :Image5'
        +' where Idmembre = :Idmembre');
      ParamByName('Sexe').AsString := Titre.Text;
      ParamByName('Nom').AsString := Nom.Text;
      ParamByName('Prenom').AsString := Prenom.Text;
      ParamByName('Image4').Assign(Image5.Picture.Bitmap);
      ParamByName('Idmembre').AsString := Id.Caption;
      ExecSQL;
    end;
    et j'ai le message différence de type dans une expression
    voila merci j'accepte d'être la honte du forum j'assume .
    Dans l'attente merci pour ce qui a déjà été fait .

  13. #13
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Je te montre l'erreur dans ta reuqête , avec deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      +',Symbol = :Image5'
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ParamByName('Image4').Assign(Image5.Picture.Bitmap);
    Si le paramètre n'a pas le même nom, c'est un peu normal que cela ne fonctionne pas

    Si tu mets Image4 il faut qu'il y ai Symbol = :Image4
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut
    Citation Envoyé par Rayek Voir le message
    Je te montre l'erreur dans ta reuqête , avec deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      +',Symbol = :Image5'
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ParamByName('Image4').Assign(Image5.Picture.Bitmap);
    Si le paramètre n'a pas le même nom, c'est un peu normal que cela ne fonctionne pas

    Si tu mets Image4 il faut qu'il y ai Symbol = :Image4
    Merci Rayek j ai modifier mais toujours
    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
    with DataModule2.Query1 do 
    begin
      SQL.Clear;
      SQL.Add('Update assos_membre.DB set Sexe = :Sexe'
        +',Nom = :Nom'
        +',Prenom = :Prenom'
        +',Symbol = :Image5'
        +' where Idmembre = :Idmembre');
      ParamByName('Sexe').AsString := Titre.Text;
      ParamByName('Nom').AsString := Nom.Text;
      ParamByName('Prenom').AsString := Prenom.Text;
      ParamByName('Image5').Assign(Image5.Picture.Bitmap);
      ParamByName('Idmembre').AsString := Id.Caption;
      ExecSQL;
    end;
    et j'ai le message différence de type dans une expression

  15. #15
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Si tu enlèves la partie d'insertion/Modification de l'image, est ce que l'ensemble fonctionne ?

    Sinon, comme dit dans pas mal de post, ce n'est pas très bon d'insérer des images directement dans une base de données, mais qu'il est mieux de déposer les fichiers images dans un répertoire et de ne stocker que le chemin d'accès de ceux xi dans la base de données.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut
    Citation Envoyé par Rayek Voir le message
    Si tu enlèves la partie d'insertion/Modification de l'image, est ce que l'ensemble fonctionne ?

    Sinon, comme dit dans pas mal de post, ce n'est pas très bon d'insérer des images directement dans une base de données, mais qu'il est mieux de déposer les fichiers images dans un répertoire et de ne stocker que le chemin d'accès de ceux xi dans la base de données.
    Oui si je supprime l'insertion d'image l'ensemble fonctionne bien

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut la tous fonctionne
    je crois avoir trouver le problème
    j'ai fais
    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
    with DataModule2.Query1 do
    begin
      SQL.Clear;
      SQL.Add('Update assos_membre.DB set Sexe = :Sexe'
        +',Nom = :Nom'
        +',Prenom = :Prenom'
        +',Symbol = :Image5'
        +' where Idmembre = '+Id.Caption+'');
    //ParamByName('Id').AsString:=Id.Caption;
    ParamByName('Sexe').AsString:=Titre.Text;
    ParamByName('Nom').AsString:=Nom.Text;
    ParamByName('Prenom').AsString:=Prenom.Text;
    ParamByName('Image5').Assign(Image5.Picture.Bitmap);
    Prepare;
    ExecSQL;
    Close;
    je supprime le paramètre de Id.caption et sa fonctionne. bazar pourtant Id.caption donnée bien le bon id à chaque fois je ne comprend pas.
    Merci à tous pour votre aide

  18. #18
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Au lieu d'écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ParamByName('Idmembre').AsString := Id.Caption;
    Tu aurais du écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ParamByName('Idmembre').AsInteger := StrToInt(Id.Caption);
    Vu que ton champ est numérique, tu dois quand même passer un paramètre de ce type
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 483
    Points : 128
    Points
    128
    Par défaut
    ok merci à tous pour un sujet difficile pour moi.Merci de votre patience

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/05/2010, 17h20
  2. Stockage d'une image dans un champ blob
    Par Wrack dans le forum JDBC
    Réponses: 3
    Dernier message: 29/04/2007, 21h48
  3. sauvegarder une image dans un champ blob ?
    Par eric95 dans le forum Hibernate
    Réponses: 4
    Dernier message: 26/10/2006, 10h41
  4. [MySQL] Afficher une image d'un champ blob d'une base MySQL
    Par lolobedo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/11/2005, 10h10
  5. Enregistrement d'image dans Interbase(champ Blob)
    Par the watcher dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/06/2005, 12h33

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