[delphi-br] Imagem no banco - INVALID BLOB LENGTH

2008-09-05 Por tôpico André
Olá pessoal

Estou tendo um problema, pediria a ajuda de vocês...

Uso SQL Server Express 2005 e Delphi 2006.

Tenho um campo na tabela do tipo image, porém quando tento salvar através do
delphi, da o erro

INVALID BLOB LENGTH

Pesquisei sobre o erro e encontrei a solução.

Fui no BDE e alterei o BLOBS TO CACHE para 2048, que era ate onde chegava o
tamanho da minha imagem.

Lá estava 64...

Agora a duvida...Gostaria de saber se tem como alterar essa propriedade do
BDE através do delphi..

Vi que nos parametros do TDatabase que utilizo, tem esse campo, mas mudando
por lá, o sistema parece estar assumindo automaticamente o BDE e ignorando o
que eu coloco no TDatabase..

se puderem me ajudar..muito obrigado..se precisar de mais detalhes só
perguntar...

Vlw



[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] Imagem no banco

2006-11-28 Por tôpico Igor Alexandre
 Pessoal estou com dificuldades para gravar uma uma imagem  no banco de
dados. estou usando firebird, criei um campo BLOB na tabela mas nao consigo
salvar a imagem no campo.
alguem teria um exemplo para me enviar?


  desde já obrigado.

-- 



 Igor Alexandre.


[As partes desta mensagem que não continham texto foram removidas]



Res: [delphi-br] Imagem no banco

2006-11-28 Por tôpico Anderson Furtilho
amigo eu uso este esquema aqui e da certinho , inclusive grava no banco como 
jpg e nao como bmp.

segue abaixo

procedure TF_CadastroCliente.ExibeFoto;
var
  jpg : TJPEGImage;
  stm : TMemoryStream;
begin
  Image1.Picture := Nil;
  if not(IBQ_Cadastro.IsEmpty) then
if not((IBQ_Cadastro.FieldByName('FOTO') as TBlobField).IsNull) then
  try
jpg := TJPEGImage.Create;
stm := TMemoryStream.Create;
(IBQ_Cadastro.FieldByName('FOTO') as TBlobField).SaveToStream(stm);
stm.Position := 0;
jpg.LoadFromStream(stm);
Image1.Picture.Assign(jpg);
  finally
jpg.Free;
stm.Free;
  end;
end;

procedure TF_CadastroCliente.GravaFoto(stm: TMemoryStream; Acao: byte);
begin
  if (Acao = 1) then begin
(IBQ_Cadastro.FieldByName('FOTO') as TBlobField).BlobType := ftTypedBinary;
(IBQ_Cadastro.FieldByName('FOTO') as TBlobField).LoadFromStream(stm);
  end else
if (Acao = 0) then begin
  (IBQ_Cadastro.FieldByName('FOTO') as TBlobField).Clear;
  Image1.Picture := Nil;
end;
end;


procedure TF_CadastroCliente.ExcluirImagem1Click(Sender: TObject);
begin
  inherited;
  if (IBQ_Cadastro.State in [dsEdit,dsInsert]) then
if not((IBQ_Cadastro.FieldByName('FOTO') as TBlobField).IsNull) then begin
  Application.CreateForm(TF_ConfirmacaoPadrao,F_ConfirmacaoPadrao);
  F_ConfirmacaoPadrao.MensagemConfirmacao.Caption := 'Deseja excluir a foto 
do cliente?';
  F_ConfirmacaoPadrao.btnCancela.Enabled := False;
  F_ConfirmacaoPadrao.ShowModal;
  F_ConfirmacaoPadrao.Release;
  if (F_ConfirmacaoPadrao.Tipo_Clicado = 1) then
GravaFoto(Nil,0);
end;
end;



procedure TF_CadastroCliente.ExportarFoto1Click(Sender: TObject);
var
  arq : string;
  jpg : TJPEGImage;
  stm : TMemoryStream;
begin
  inherited;
  SavePictureDialog1.FileName := '';
  if not((IBQ_Cadastro.FieldByName('FOTO') as TBlobField).IsNull) then
if (SavePictureDialog1.Execute) then
  try
arq := SavePictureDialog1.FileName;
jpg := TJPEGImage.Create;
stm := TMemoryStream.Create;
(IBQ_Cadastro.FieldByName('FOTO') as TBlobField).SaveToStream(stm);
stm.Position := 0;
jpg.LoadFromStream(stm);
jpg.SaveToFile(arq);
  finally
jpg.Free;
stm.Free;
  end;
end;



Eu uso um OpenPictureDialog e um TImage para tal.


Banco de Dados FireBird.


Espero ter ajudado
- Mensagem original 
De: Igor Alexandre [EMAIL PROTECTED]
Para: Delphi-Br delphi-br@yahoogrupos.com.br; Delphi-Total [EMAIL PROTECTED]
Enviadas: Terça-feira, 28 de Novembro de 2006 9:02:14
Assunto: [delphi-br] Imagem no banco









  



 Pessoal estou com dificuldades para gravar uma uma imagem  no 
banco de

dados. estou usando firebird, criei um campo BLOB na tabela mas nao consigo

salvar a imagem no campo.

alguem teria um exemplo para me enviar?



desde já obrigado.



-- 



Igor Alexandre.



[As partes desta mensagem que não continham texto foram removidas]






  







!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;
}

#ygrp-vital{
background-color:#e0ecee;
margin-bottom:20px;
padding:2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size:77%;
font-family:Verdana;
font-weight:bold;
color:#333;
text-transform:uppercase;
}
#ygrp-vital ul{
padding:0;
margin:2px 0;
}
#ygrp-vital ul li{
list-style-type:none;
clear:both;
border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;
color:#ff7900;
float:right;
width:2em;
text-align:right;
padding-right:.5em;
}
#ygrp-vital ul li .cat{
font-weight:bold;
}
#ygrp-vital a {
text-decoration:none;
}

#ygrp-vital a:hover{
text-decoration:underline;
}

#ygrp-sponsor #hd{
color:#999;
font-size:77%;
}
#ygrp-sponsor #ov{
padding:6px 13px;
background-color:#e0ecee;
margin-bottom:20px;
}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;
margin:0;
}
#ygrp-sponsor #ov li{
list-style-type:square;
padding:6px 0;
font-size:77%;
}
#ygrp-sponsor #ov li a{
text-decoration:none;
font-size:130%;
}
#ygrp-sponsor #nc {
background-color:#eee;
margin-bottom:20px;
padding:0 8px;
}
#ygrp-sponsor .ad{
padding:8px 0;
}
#ygrp-sponsor .ad #hd1

Re: [delphi-br] Imagem no banco

2006-11-28 Por tôpico Bruno Lichot
vc encontra exemplos e apostilas sobre o assunto bem como codigo fonte e 
slides em:

http://cc.borland.com/Author.aspx?ID=795118

Abração

Bruno Lichot

Igor Alexandre escreveu:
  Pessoal estou com dificuldades para gravar uma uma imagem  no banco de
 dados. estou usando firebird, criei um campo BLOB na tabela mas nao consigo
 salvar a imagem no campo.
 alguem teria um exemplo para me enviar?