Salut tout le monde :D
Une tite question :
Quelqu'un sait-il comment on intègre une image dans un champs Blob d'une table SQLServer ?
Il n'existe pas de proprieté du champs genre FieldbyName('MonBlob').AsBlob ?
Merci :wink:
Version imprimable
Salut tout le monde :D
Une tite question :
Quelqu'un sait-il comment on intègre une image dans un champs Blob d'une table SQLServer ?
Il n'existe pas de proprieté du champs genre FieldbyName('MonBlob').AsBlob ?
Merci :wink:
TDBImage devrait faire l'affaire dans un premier temps
Merci mais je ne suis me suis peut etre pas exprimé, je ne cherche pas à afficher une image à partir d'un champs Blob.
Je cherche à renseigner ma base, j'ai un répertoire de photos et je fais une boucle pour ajouter une photo à chaque enregistrement de ma table mais je ne trouve pas la commande pour renseigner un champs de type Blob.
J'ai réussi sous Access de cette façon (Devrait également marcher avec SQL server) par ADO
Modification d'un champ Objet OLE (Type de champ sous Access)
--> Pour Inserer, le faire avec INSERT....
LireCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Var Blob : TBlobByteData; Begin Try SetLength(Blob,0); M := TMemoryStream.Create; Image1.Picture.Bitmap.SaveToStream(M); M.Seek(0,soFromBeginning); SetLength(Blob,M.Size); M.Read(Blob[0],M.Size); Command.CommandText := 'UPDATE TABLE1 SET CHAMP1 = :mem ;'; Command.Parameters.ParamByName('mem').Value := Blob; Command.Execute; Finally M.Free; end;
Voilà, ca devrait t'aider !Code:
1
2
3
4
5
6
7
8
9
10
11 Var Blob : TStream; begin Query.Active := False; Query.SQL.Text := 'SELECT CHAMP1 FROM TABLE1 ;'; Query.Active := True; Blob := Query.CreateBlobStream(Query.Fields[0],BmRead) ; Image1.Picture.Bitmap.LoadFromStream(Blob);
Bon travail
A+
Désolé, je n'y suis pas arrivé de cette manière :cry:
C'est peut etre parce que j'utilise les composants BDE et non pas ADO
Par contre j'y suis presque en faisant dans une boucle de parcours de tous mes enregistrements :
Mais mon problème maintenant c'est mes images sont tronquées. J'ai rarement une image complète :cry:Code:
1
2
3 Query.Edit; MonBlobField.LoadFromFile('MonImage.jpg'); Query.Post;
Aurais je oublié quelqueChose ?
Merci
Je me trompes peut être, mais tu ne peux pas tout simplement
ouvrir ton image puis exécuter une requête du style
"UPDATE matable SET monchamp = 'mavariable'"
avec monchamp de type BLOB
et mavariable c'est la chaine des caracteres de ton fichier ?
De cette manière tu dépends du SGBD et non pas du composant que tu utilises, à partir du moment ou il sait executer une requête.
salut
@+ PhilCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 var BLOB : TStream; ... Begin BDIMG.Append; BDIMGI_NUM.AsInteger := MonIndex; BLOB := BDIMG.CreateBlobStream(BDIMGB_IMG, bmWrite); try BLOB.Seek(0, soFromBeginning); JPEG.SaveToStream(BLOB); finally BLOB.Free; end; BDIMG.Post;
Merci, c'est cool, ça marche :D
Sinon pour renseignement, le LoadFromFile D'un champs Blob fonctionne aussi si ça interesse quelqu'un. Mon problème d'image était du au taux de compression de certaines d'entre elles. :oops:
merci à tous :D
salut
le meilleur remerciment serait que tu mette le tag resolu
merci par avance pour l'ensemble du forum
@+ Phil
Oups désolé, un oubli de ma part :oops: