Foto Interbase

Delphi

22/10/2005

Caros amigos

Nesse site abaixei um arquivo exemplo chamado FotoParadox, ficaria muito grato se alguem me desse uma ideia de como trabalhar com esse projeto usando o Interbase com os componetes SqlConection, Sqlqry, datasetprovider e um Clientdataset...Ou se alguem saber se existe algum banco de dados com foto usando o interbase...Agradeceria e muito...

Muito Obrigado

Fab


Fabianovo

Fabianovo

Curtidas 0

Respostas

Eniorm

Eniorm

22/10/2005

da uma procurada aqui mesmo no forum q tem umas explicações ótimas para gravar imagens no banco.

Eu, usando esses posts, montei e fununcia perfeitamente, inclusive converte um BMP pra JPG, pois se vc gravar BMP (usando o componente DBImage) seu banco vai engordar extremamente....

falow


GOSTEI 0
Martins

Martins

22/10/2005

Caros amigos Nesse site abaixei um arquivo exemplo chamado FotoParadox, ficaria muito grato se alguem me desse uma ideia de como trabalhar com esse projeto usando o Interbase com os componetes SqlConection, Sqlqry, datasetprovider e um Clientdataset...Ou se alguem saber se existe algum banco de dados com foto usando o interbase...Agradeceria e muito... Muito Obrigado Fab


No seu caso vc tem duas opções.

1 - Salvar no banco apenas o caminho+nome das imagens, e copiar as imagens para pasta do seu exe ou uma subpasta img, e vc faria a chamada em um componente TImage.

2 - Vc pode salvar diretamente no banco, mas isso pode implicar em deixar o seu banco mais pesado, para salvar no banco segue o código abaixo, lembrando q o campo deve ser do tipo [b:bba99c66c2]Blob[/b:bba99c66c2]

procedure TFrmFabianovo.LoadFotoBanco(Arquivo: String);
Var
stImagem: TFileStream;
begin
  stImagem := TFileStream.Create( Arquivo, fmOpenRead or
  fmShareDenyWrite );
  Try
   ibdsClienteFOTO.LoadFromStream( stImagem );
  Finally
  stImagem.Free;
End;
end;

procedure TFrmFabianovo.GetImgBanco(var foto: TImage);
Var
jpgImg: TJPEGImage;
stMem: TMemoryStream;
begin
  If ibdsClienteFOTO.IsNull Then Exit;
  jpgImg := TJPEGImage.Create;
  stMem := TMemoryStream.Create;
  Try
    ibdsClienteFOTO.SaveToStream( stMem );
  stMem.Position := 0;
  jpgImg.LoadFromStream( stMem );
  foto.Picture.Assign( jpgImg );
  Finally
  stMem.Free;
  jpgImg.Free;
End;
end;    


Testa aí, qualquer coisa posta aqui novamente.

Boa Sorte!!!


GOSTEI 0
Fabianovo

Fabianovo

22/10/2005

Poxa, amigos...

Agradeço pela ajuda, essa busca estou fazendo a 4 dias em foruns, site de dicas, etc... até agora nada...

Se vc poder me exclarecer mais uma coisinha, conforme seu exemplo acima, seria 2 buttons, um para ler e outra para gravar...??????

Muito Obrigado

Fab


GOSTEI 0
Martins

Martins

22/10/2005

Poxa, amigos... Agradeço pela ajuda, essa busca estou fazendo a 4 dias em foruns, site de dicas, etc... até agora nada... Se vc poder me exclarecer mais uma coisinha, conforme seu exemplo acima, seria 2 buttons, um para ler e outra para gravar...?????? Muito Obrigado Fab


Sim, vc pode utilizar dois buttons.

Mas continuo achando q o melhor seria salvar o path da imagem no BD.

Boa Sorte!!!


GOSTEI 0
Fabianovo

Fabianovo

22/10/2005

Valew Martins...

Vou tentar com os buttons, com sou iniciante esse ´path do BD´ ainda é meio extranho para mim...

Desculpe abusar de sua bondade, mas vc acha melhor fazer um banco só para fotos ou junto com os demais dados de um cadastro...

Muito Obrigado

Fab


GOSTEI 0
Martins

Martins

22/10/2005

Valew Martins... Vou tentar com os buttons, com sou iniciante esse ´path do BD´ ainda é meio extranho para mim... Desculpe abusar de sua bondade, mas vc acha melhor fazer um banco só para fotos ou junto com os demais dados de um cadastro... Muito Obrigado Fab


Cara grava no mesmo BD, em dois BD vc vai ter um pouco mais de trabalho, e quanto ao path = caminho da sua imagem.

vc gravaria em um campo de sua tabela apenas o caminho mais o nome da sua imagem, assim vc faria um LoadFromFile pegando como endereço da imagem o q estiver em seu banco de dados.

Estou sem tempo aqui, senão escreveria um exemplo para vc.

mas boa sorte!!!


GOSTEI 0
Fabianovo

Fabianovo

22/10/2005

Valew

Irei tentar sua dica, muito obrigado.

Fab


GOSTEI 0
Martins

Martins

22/10/2005

Valew Irei tentar sua dica, muito obrigado. Fab

Ok!


GOSTEI 0
Badboysjc

Badboysjc

22/10/2005

[quote:006485bebd=´Fabianovo´]Valew Martins... Vou tentar com os buttons, com sou iniciante esse ´path do BD´ ainda é meio extranho para mim... Desculpe abusar de sua bondade, mas vc acha melhor fazer um banco só para fotos ou junto com os demais dados de um cadastro... Muito Obrigado Fab


Cara grava no mesmo BD, em dois BD vc vai ter um pouco mais de trabalho, e quanto ao path = caminho da sua imagem.

vc gravaria em um campo de sua tabela apenas o caminho mais o nome da sua imagem, assim vc faria um LoadFromFile pegando como endereço da imagem o q estiver em seu banco de dados.

Estou sem tempo aqui, senão escreveria um exemplo para vc.

mas boa sorte!!![/quote:006485bebd]

Amigo, Boa Noite !!

Você teria um exemplo simples, para o aplicativo gravar apenas o caminhao no DB e fazer a chamada !!

Desde já agradeço á atenção.

Abraços


GOSTEI 0
Pestana_

Pestana_

22/10/2005

Mas continuo achando q o melhor seria salvar o path da imagem no BD.


Martins e se o sitema estiver em rede? O sistema não teriam que utilizar o ´compartilhamento de rede´ para pegar a foto que está no servidor(logicamente que a foto não vai ficar em todas as máquinas, ficando somente no servidor) e utilizando este recurso, cade a segurança do servidor???

posso até estar enganado, mas gostaria que se possível você colocasse a sua opinão em cima disso.


Abraços!


GOSTEI 0
POSTAR