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 :

Comment inserer une image dans une table sous sql qerveur [FAQ]


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Comment inserer une image dans une table sous sql qerveur
    Bonjour,

    J'ai une application ou je voudrais inserer des photos directement dans la base de donnee sql server,

    Dans ma table j ai declarer un champs 'image' mais comment inserer l'image?

    Merci du coup de main

  2. #2
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    Il est en général conseillé de ne pas insérer les images directement dans la base mais plutôt d'utiliser une chaîne qui représentera le chemin de l'image à charger.

    Pour toute question spécifique à SQL Server, bien vouloir poster dans le forum correspondant.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Oui je suis d 'accord avec toi, mais ici dans mon applications je dois juste inserer quelques photos et selon ce qu'on m a demander il faut que je les insere dans la base de données.

    Y a t il un moyen?

    Merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut Re: Comment inserer une image dans une table sous sql qerveu
    Je suis au même point que toi. Je dois insérer une image à partir d'un application.

    Merci de ton aide.

    Citation Envoyé par zeddy23
    Bonjour,

    J'ai une application ou je voudrais inserer des photos directement dans la base de donnee sql server,

    Dans ma table j ai declarer un champs 'image' mais comment inserer l'image?

    Merci du coup de main

  5. #5
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Je ne comprends pas pourquoi cette question est si fréquemment posée dans cette rubrique alors que l'aide de delphi est particulièrement bien documentée à ce sujet. Il suffit d'effectuer une petite recherche avec les mots clé blob et steam et cela permet de mettre à jour les points suivants:

    En utilisant les composants ADO.

    1. Pour sauver une image au format BMP dans un champ Image d'une base de données MSSQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ...
    var FS: TFileStream;
    begin
      FS := TFileStream.Create('CheminVers\MonImage.bmp', fmOpenRead);
      try
        ADOTable1.Append;
        TBlobField(ADOTable1.FieldByName('image')).LoadFromStream(FS);
        adoTable1.Post;
        AdoTable1.Close;
      finally
        FS.Free;
      end;
    end;
    La table en question doit disposer d'un champ Image au format Image de MSSQL. Cette première procédure va permettre de sauver notre imge dans la base de données. Pour en être convaincu il suffit de placer sur la forme un champ DBImage et de le faire pointer sur notre champ dans lequel nous avons inséré notre BMP.

    2. Manipulation d'un champ blob.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ...
    var ImageStream : TMemoryStream;
    begin
      ImageStream := TMemoryStream.Create;
      try
        ADOTable1.Open;
        ADOTable1.First;
        TBlobField(ADOTable1.FieldByName('image')).saveToStream(ImageStream);
        // ... faire ce que l'on veut avec le Stream
     
      finally
        ImageStream.Free;
      end;
    end;
    Prérequis : Pour utiliser le code ci-dessus, il est nécesaire de bien manipuler les Stream. Je vous renvoie donc à nouveau vers l'aide de delphi si nécessaire.

    Cordialement

Discussions similaires

  1. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  2. Réponses: 2
    Dernier message: 27/10/2010, 20h38
  3. inserer un lien vers une image dans une news
    Par jerrypeeren dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 22/07/2008, 22h51
  4. comment inserer la valeur d'une variable dans une table sql
    Par casaoui dans le forum Langage SQL
    Réponses: 7
    Dernier message: 25/01/2008, 15h06
  5. Insérer une légende dans une image avec une police plus petite
    Par Paulinho dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 29/04/2006, 14h19

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