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 :

Insérer une image dans la base de données firebird


Sujet :

Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Albanie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2013
    Messages : 75
    Points : 62
    Points
    62
    Par défaut Insérer une image dans la base de données firebird
    salut j'ai utilise la BD firebird2.5 avec les composantes suivantes:
    OpenPictureDialog1 , edit1.text , edit2.text , DBImage1
    FDConnection1 , FDQuery1
    DBGrid1 , DataSource1
    Buttoninserer


    mon table clients contient 3 champs: code_cl, nom_cl, Photos
    le champ photos de type Blob
    Je veux insérer une image dans la base de données firebird
    Mais cette erreur apparaît:
    Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 3, column 8
    9

    voila le code du bouton insérer:
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    procedure TForm1.ButtoninsererClick(Sender: TObject);
    Var
      Im: TPicture;
      sExt,sFileName : String;
    begin
    if OpenPictureDialog1.Execute then
    Begin
        sFileName:= OpenPictureDialog1.FileName;
        sExt:= UpperCase(ExtractFileExt(sFileName));
    with FDQuery1 do
          begin
              Close;
              SQL.Clear;
              SQL.Add('INSERT INTO clients');
              SQL.Add('(code_cl,nom_cl,Photos)');
              SQL.Add('VALUES :code,:nom,:Photo)');
              ParamByName('code').Value := edit1.text;
              ParamByName('nom').Value := edit2.text;
              ParamByName('Photo').Assign(DBImage1.Picture.Bitmap);
              Prepared:=True;
              ExecSQL;
          end;
     
     
    if (sExt='.JPEG') or (sExt='.JPG') then
      Begin
        Im:= TPicture.Create;
        Im.LoadFromFile(sFileName);
        DBImage1.Picture.Bitmap.Assign(Im.Graphic);
        Im.Free;
    End
      Else
    if (sExt='.BMP') then
        DBImage1.Picture.LoadFromFile(sFileName)
        Else ShowMessage(' l''extension de l''image non supporte ');
      End;
     
    end;

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL.Add('VALUES(:code,:nom,:Photo)');

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Albanie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2013
    Messages : 75
    Points : 62
    Points
    62
    Par défaut
    merci pour votre reponse

    L'erreur est partie
    mais l'image n'est pas ajouter dans le champ photo (enregistrement vide)

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Je ne pense pas que Param.Assign(Bitmap) soit possible tout simplement.

    il faut passer par un BlobStream

    http://edn.embarcadero.com/article/27462

  5. #5
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Albanie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2013
    Messages : 75
    Points : 62
    Points
    62
    Par défaut
    merci
    le pb est résolu

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

Discussions similaires

  1. Comment stocker une image dans la base de données ?
    Par geforce dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/06/2012, 13h15
  2. quel code pour enregistrer une image dans la base de donnée
    Par bambi98 dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/05/2009, 15h55
  3. enregistrer une image dans ma base de données
    Par beet2che dans le forum VB.NET
    Réponses: 7
    Dernier message: 14/10/2008, 15h56
  4. [MySQL] sauver une image dans la base de donnée?
    Par bebas dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/05/2007, 11h26
  5. Introduire une image dans la base de données
    Par ghassenus dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/04/2006, 10h09

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