Transferir imagem

Delphi

02/01/2013

Bom dia Pessoal,

estou com um problema com imagens no banco de dados tenho que transferir uma imagem de um campo da tabela para outro campo de uma outra tabela e não encontrei a solução ainda ja venho pesquisando na Web e não encontrei uma solução para o meu problema.

Desde ja Agradeço aos colegas q se protificar a me ajudar.

Obrigado
Laelson Fagundes

Laelson Fagundes

Curtidas 0

Respostas

Wilton Júnior

Wilton Júnior

02/01/2013

Ola, Feliz ano novo...
Qual Banco de dados vc esta utilizando?
GOSTEI 0
Laelson Fagundes

Laelson Fagundes

02/01/2013

Firebird
GOSTEI 0
Wilton Júnior

Wilton Júnior

02/01/2013

Me ajuda Entender amigo, vc quer transferir uma imagem de um campo imagem de uma tabelaA para um campo imagem da tabelaB por exemplo de uma mesma base de dados, ambos campos são do tipo blob isso?

GOSTEI 0
Wilton Júnior

Wilton Júnior

02/01/2013

Você vai fazer desse jeito se não entender me fala que te explico melhor
insert into <tabela> select <campo>
from <tabela>
where <condição>

esperto ter ajuda.
OBSERVAÇÃO: SE NÃO ENTENDER ME AVISA QUE EXPLICO.

"Deus Abençoe"
GOSTEI 0
Laelson Fagundes

Laelson Fagundes

02/01/2013

Não entendi direito mas as esqueci de mencionar as duas tabelas são temporarias eu crio um clientdataset e depois destruo essas imagens fica so visivel para o cliente apos confirma no botao ela some e ja na outra tabela que contem o cadastro ela esta gravada no banco de dados, a que vai receber é tabela temporaria.
GOSTEI 0
Wilton Júnior

Wilton Júnior

02/01/2013

É assim:
Imagina que tem uma base de dados do firebird chamada teste.fdb
dentro dessa base de dados tem duas tabela cadfun e morto então temos duas tabelas
Quando vou transferir funcionario inativos para essata tabela morto faço da seguinte formar:

insert into morto
select codfun, nome, depto, funcao, salario admissao
from cadfun where codfun = 12

supondo que na tabela cadfun tenha os seguintes campo:codfun, nome, depto, funcao, salario admissao
então na tabela morto devera ter os mesmos campos: codfun, nome, depto, funcao, salario admissao.

Isso funciona colocando o coringa *. Como usa clientdataset com o mesmo campo da tabela original é só fazer um select buscando a imagem que vc deseja e transferindo para a tabela virtual.

Espero ter ajudado
"Deus Abençoe"
GOSTEI 0
Laelson Fagundes

Laelson Fagundes

02/01/2013

O problema não é a transferencia de dados o problema é as campo Imagens do campo blob quando eu tempo passar direto da problemas tambem, estou passando dessa forma:

 CDSComplementoTemp.Append;
   CDSComplementoTempId.AsInteger := BancoDados.CDSComplementosPainelID.AsInteger;
   CDSComplementoTempDescricao.Value  := BancoDados.CDSComplementosPainelDESCRICAO.Value;
   CDSComplementoTempValor.AsFloat := BancoDados.CDSComplementosPainelVALOR.AsFloat;

aqui estavo tentando inserir na tabela temporaria mas nao deu certo
  --------------------------------------------------------------------------------
   BancoDados.CDSComplementosPainel.Edit;
   BlobField := BancoDados.CDSComplementosPainel.FieldByName('foto') as TBlobField;
   BS := CDSComplementoTemp.CreateBlobStream(BlobField,bmWrite);
   CDSComplementoTempImagem.LoadFromStream(BS);
   --------------------------------------------------------------------------------
   CDSComplementoTemp.Post;

   smComplementoTemp.DataBinding.CaptionTemplate := '<FONT color="#800000"><B><#Descricao></B></FONT><br>' +
                                                    '<#Valor>';
   smComplementoTemp.ItemAppearance.TextAlign := alLeft;
   for I := 0 to smComplementoTemp.Items.Count - 1 do
   begin
      smComplementoTemp.Items[I].Caption.Location := cpCenterLeft;
   end;
GOSTEI 0
Wilton Júnior

Wilton Júnior

02/01/2013

Da uma olhada nesse link, e repassa uma informação de uma caixa de dialogo paa um clientdataset, vc pode fazer o mesmo mas utilizando o campo imagem do seu banco de dados.
http://www.resumoti.com.br/?p=9
GOSTEI 0
POSTAR