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
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
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.
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
Je suis au même point que toi. Je dois insérer une image à partir d'un application.
Merci de ton aide.
Envoyé par zeddy23
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:
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.
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;
2. Manipulation d'un champ blob.
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.
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;
Cordialement
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager