Fórum Como cadastro imagem no campo BLOB? #492146

15/09/2014

0

Bom dia pessoal.

Seguinte na minha aplicação eu tenho um botao que carrega img.

procedure TForm8.PNGButton1Click(Sender: TObject);
begin
if openpicturedialog1.Execute then
image1.Picture.LoadFromFile(openpicturedialog1.FileName);

end;


----

Ai eu tenho outro botao que cadastra os itens da tela no meu banco de dados.

procedure TForm8.PNGButton2Click(Sender: TObject);
var
NC: STRING;

begin

DataModule2.estoqt.Insert;
DataModule2.estoqt.Edit;


if edit24.Text = '' then
if Messagedlg('PREENCHA O NOME DO CLIENTE!',mtWarning, [mbok],0)=idOk then
exit;

NC := DATAMODULE2.ESTOQT.Fields[1].AsString;


DataModule2.estoqt.FieldByName('CODIGO_BARRA').AsString := Edit19.Text;
DataModule2.estoqt.FieldByName('QTDE_MINIMA').AsString := edit41.Text ;
DataModule2.estoqt.FieldByName('NOME_PRODUTO').AsString := NC+' - '+ edit24.Text ;


// DataModule2.estoqt.FieldByName('IMAGEM').IsBlob := IMAGE1.Picture;  { LINHA COM ERRO }


if  Messagedlg('CADASTRO INSERIDO!',mtWarning, [mbok],0)=idOk then

DataModule2.estoqt.POST; 




Eu não sei como colocar a linha certa nesse tipo pra fazer a img que eu carreguei no '' Image1 " se cadastrada no banco.
Preciso de uma luz.
Bruno Souza

Bruno Souza

Responder

Posts

15/09/2014

Joel Rodrigues

Você pode usar um TDBImage, bem como TDBEdit e ligar os controles ao dataset, sem precisar atribuir o valor deles no momento de salvar.
Responder

Gostei + 0

15/09/2014

Bruno Souza

TDBImage, bem como TDBEdit dao erro em rede pq deixam o meu DB em aberto e eu vo usar esse programa em mais de um pc simultanemante.

Por isso só preciso achar o jeito certo desta linha pra fazer gravação manual.

// DataModule2.estoqt.FieldByName('IMAGEM').IsBlob := IMAGE1.Picture;  { LINHA COM ERRO }
Responder

Gostei + 0

16/09/2014

Eduardo Silva.

(DataModule2.estoqt.FieldByName('IMAGEM') as TBlobField).Assign(Image3.Picture.Bitmap);

sds

Eduardo Belo
Responder

Gostei + 0

17/09/2014

Bruno Souza

Eduardo. eu pus a linha como vc mostro, quando eu aperto o btn para cadastrar ele faz o cadastro de todas as infomrações do edit mas o campo da imagem fica vazio.
Responder

Gostei + 0

17/09/2014

Eduardo Silva.

Eduardo. eu pus a linha como vc mostro, quando eu aperto o btn para cadastrar ele faz o cadastro de todas as infomrações do edit mas o campo da imagem fica vazio.


(DataModule2.estoqt.FieldByName('IMAGEM') as TBlobField).Assign(Image3.Picture.Bitmap);

Eu postei o exemplo com o nome do TImage como Image3, você corrigiu para o Image1?

Qual o banco de dados que você está utilizando? Se for Firebird o tipo de campo dever ser BLOB SUB_TYPE 0 SEGMENT SIZE 80

Eduardo Belo
Responder

Gostei + 0

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

Aceitar