Imagem
Como gravar uma imagem no banco de dados?
Estou fazendo a gravação mas ele está gravando o caminho ao invés da imagem.
Estou fazendo a gravação mas ele está gravando o caminho ao invés da imagem.
Dracula Nosferatu
Curtidas 0
Respostas
Leanribas
03/02/2004
Qual o bando de dados que vc está usando?
E qual o tipo de campo a qual vc está tentando gravar a imagem?
No Geral vc pode fazer assim:
esse exemplo e para tabelas paradox mas vc pode adapdar para a sua necessidade
Procedure Grava_Imagem_JPEG(Tabela:TTable; Campo:TBlobField;
Foto:TImage; Dialog:TOpenPictureDialog);
var BS:TBlobStream;
MinhaImagem:TJPEGImage;
Begin
Dialog.InitialDir := ´c:\temp´;
Dialog.Execute;
if Dialog.FileName <> ´´ Then
Begin
if not (Tabela.State in [dsEdit, dsInsert]) Then
Tabela.Edit;
BS := TBlobStream.Create((Campo as TBlobField), BMWRITE);
MinhaImagem := TJPEGImage.Create;
MinhaImagem.LoadFromFile(Dialog.FileName);
MinhaImagem.SaveToStream(BS);
Foto.Picture.Assign(MinhaImagem);
BS.Free;
MinhaImagem.Free;
Tabela.Post;
DBISaveChanges(Tabela.Handle);
End;
End;
Falou
Leandro
E qual o tipo de campo a qual vc está tentando gravar a imagem?
No Geral vc pode fazer assim:
esse exemplo e para tabelas paradox mas vc pode adapdar para a sua necessidade
Procedure Grava_Imagem_JPEG(Tabela:TTable; Campo:TBlobField;
Foto:TImage; Dialog:TOpenPictureDialog);
var BS:TBlobStream;
MinhaImagem:TJPEGImage;
Begin
Dialog.InitialDir := ´c:\temp´;
Dialog.Execute;
if Dialog.FileName <> ´´ Then
Begin
if not (Tabela.State in [dsEdit, dsInsert]) Then
Tabela.Edit;
BS := TBlobStream.Create((Campo as TBlobField), BMWRITE);
MinhaImagem := TJPEGImage.Create;
MinhaImagem.LoadFromFile(Dialog.FileName);
MinhaImagem.SaveToStream(BS);
Foto.Picture.Assign(MinhaImagem);
BS.Free;
MinhaImagem.Free;
Tabela.Post;
DBISaveChanges(Tabela.Handle);
End;
End;
Falou
Leandro
GOSTEI 0
Dracula Nosferatu
03/02/2004
Eu estou usando o firebird e estou gravando num campo blob.
GOSTEI 0