No meu link de downloads gratuitos(HTTP://cc.codegear.com/author/795118), no primeiro exemplo, no cadastro de cliente eu trabalho com fotos dos clientes.
E está funcional e otimizado a forma de se trabalhar com persistência no banco de imagens. Eu apenas recomendaria, que no caso de produção, não use a mesma tabela de clientes para armazenar a foto, mas que crie uma tabela clientes foto, não somente pela melhora do armazenamento, mas também pela organização e dificulta que algum estagiário desavisado ou programador inexperiente aplique um select * na tabela de clientes e trafegue aquele montão de fotos desnecessariamente :D. Sobre pesar no banco, olha, é claro que bancos de dados com imagens o fazem crescer mais, mas o fato do banco ficar lento, está mais relacionado com a sua construção, manutenção e configuração do que conter fotos ou não. Um banco de dados sem fotos corre os mesmos riscos de ser lento. Abs BL From: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of rafaelpinto19 Sent: terça-feira, 6 de maio de 2008 19:17 To: delphi-br@yahoogrupos.com.br Subject: [delphi-br] Re: Gravar imagens no Banco Interbase/Firebir Alessandro, Ricardo e Bruno e aos demais membros do Grupo, quero agradecer por tentarem me expilcar e ajudar a resolver este problema, Estou em fase de aprendizagem ainda. Eu tentei um código, mas não deu certo. Mas perece q eu estou no caminho certo. No Primeiro momento eu até pensei que consegui gravar a imagen capturada, pensei em ter conseguindo resolver o problema. Sempre quando faço uma consulta para retornar a foto da pessoa resgitrada no Sistema, sempre aparece a foto da "última" imagem capturada. Ou seja...se eu registrei João, Maria e José respectivamente e capturei a foto de cada um deles, mesmo eu consultando o João, sempre me rotorna a imagem do José, por ter sido o "último" quem o sistema capturou a imagem. Postei esse meu código para ver onde eu estou errando e ver se vcs conseguem me ajudar a resolver este problema. procedure TPrincipal.BtnGravarClick(Sender: TObject); begin //imgFoto.Visible:= True; imgFoto.Picture.Bitmap.LoadFromFile(Camera1.FichierImage); Query.Close; Query.SQL.Clear; Query.SQL.Add('insert into VISITA(CODIGO,NOME,FOTO) values (:CODIGO,:NOME,:FOTO)'); Query.ParamByName('FOTO').LoadFromFile(Camera1.FichierImage,ftBlob); //:= imgFoto.Picture.Bitmap.LoadFromFile(Camera1.FichierImage); Query.ParamByName('CODIGO').AsString := Edit1.Text; Query.ParamByName('NOME').AsString := Edit2.Text; Query.ExecSQL; Query.Transaction.Commit; Query.Transaction.Active := true; end. Onde: * imgFoto = TImage(Image), é o 6º componente da palheta Aditional no Delphi e responsável pela visualização de imagens, fotos e etc. * Camera1 =TCamera(Câmera), É o único componente da palheta Yves e é responsável pela visualização de imagens de uma Webcam ou Câmeras digitais. Nela conseguimos fazer a devidas e necessárias capturas. e esse é o código que eu uso na para visualizar os dados e foto do registro consultado. procedure TProcFoto.DBGrid1DblClick(Sender: TObject); begin Principal.Edit1.Text := Query1.fieldbyname('CODIGO').AsString; Principal.Edit2.Text := Query1.fieldbyname('NOME').AsString; Principal.imgFoto.Picture.Bitmap.LoadFromFile(Principal.Camera1.FichierImage); close; end; Onde: * Principal é o nome do Form de destino onde estão os edtis que vão mostrar as dados a serem pesquisados e a foto do registro a ser mostrada. --- Em delphi-br@yahoogrupos.com.br<mailto:delphi-br%40yahoogrupos.com.br>, "Alessandro DUARTE de Moraes" <[EMAIL PROTECTED]> escreveu > > Essa discussão é bem relevante, então cito alguns pontos a favor: > > 1) Para acessos remotos, isto é, o servidor está em uma localidade e o cliente em outra, não vejo uma forma mais coerente do que ter a imagem tb no banco de dados > 2) Menos "gambiarra" qdo for executar uma select para relatórios ... > > Para completar, sugiro que seja criada uma tabela no banco que seja dedicada a armazenar imagens, apenas com 2 campos: id INTEGER e imagem BLOB > e nas tabelas que são necessárias ter uma ou mais imagens basta colocar campos referenciando ao id desta tabela de imagens. > > Tive experiências traumáticas com as imagens em uma pasta ... mas uma solução bem elaborada pode dar certo, exceto no caso do item 1 que citei acima. > > Abraços, > > Alessandro DUARTE de Moraes > A.C. Santa Casa do Rio Grande. > http://www.santacasarg.com.br > > ----- Original Message ----- > From: Ricardo Cabral > To: delphi-br@yahoogrupos.com.br<mailto:delphi-br%40yahoogrupos.com.br> > Sent: Monday, May 05, 2008 2:02 PM > Subject: RE: [delphi-br] Gravar imagens no Banco Interbase/Firebir > > > Bruno, > > Gravando no banco não deixaria o mesmo muito "pesado" ? > > > > Bruno Lichot <[EMAIL PROTECTED]> escreveu: > Eu prefiro gravar imagens no banco, é mais rápido de trabalhar e no meu modo de ver mais seguro também. > > Abs > > BL > > From: delphi-br@yahoogrupos.com.br<mailto:delphi-br%40yahoogrupos.com.br> [mailto:delphi-br@yahoogrupos.com.br<mailto:delphi-br%40yahoogrupos.com.br>] On Behalf Of Ricardo Cabral > Sent: segunda-feira, 5 de maio de 2008 13:34 > To: delphi-br@yahoogrupos.com.br<mailto:delphi-br%40yahoogrupos.com.br> > Subject: Re: [delphi-br] Gravar imagens no Banco Interbase/Firebir > > Acho que seria mais interessante gravar somento o caminho da imagem no BD e gravar a imagem numa pasta. > > rafaelpinto19 <[EMAIL PROTECTED]<mailto:rafaelpinto%40cdsol.com.br>> escreveu: > > Olá galera, > > Alguém poderia me explicar como gravar imagens no Banco de > dados pelo delphi, Estou usandon o componente Tcamera para Visualizar > a imagem pela webcam e o componente TImage para Capturar. Agora salvar > a imagem no Banco eu nnão sei ainda. Se tive rum rotina ou um código > simples. Eu vou agradecer bastante. Obrigado pela atenção!!! > > Abraços, > > Ricardo Cabral > > --------------------------------- > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > Abraços, > > Ricardo Cabral > > --------------------------------- > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! > > [As partes desta mensagem que não continham texto foram removidas] > > > > > -------------------------- > E-mail Seguro Vetorial.net > > Mensagem classificada como NÃO-SPAM. Para classificar como SPAM, > encaminhe para [EMAIL PROTECTED] > > Chave de Identificação: 54568,481f3db9196851913172569 > > > [As partes desta mensagem que não continham texto foram removidas] > [As partes desta mensagem que não continham texto foram removidas]