Fórum Transferir imagem #431716

02/01/2013

0

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

Responder

Posts

02/01/2013

Wilton Júnior

Ola, Feliz ano novo...
Qual Banco de dados vc esta utilizando?
Responder

Gostei + 0

02/01/2013

Laelson Fagundes

Firebird
Responder

Gostei + 0

02/01/2013

Wilton Júnior

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?

Responder

Gostei + 0

02/01/2013

Wilton Júnior

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"
Responder

Gostei + 0

02/01/2013

Laelson Fagundes

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.
Responder

Gostei + 0

02/01/2013

Wilton Júnior

É 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"
Responder

Gostei + 0

02/01/2013

Laelson Fagundes

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;
Responder

Gostei + 0

03/01/2013

Wilton Júnior

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
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar