Como cadastro imagem no campo BLOB?
Bom dia pessoal.
Seguinte na minha aplicação eu tenho um botao que carrega img.
----
Ai eu tenho outro botao que cadastra os itens da tela no meu banco de dados.
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.
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
Curtidas 0
Respostas
Joel Rodrigues
15/09/2014
Você pode usar um TDBImage, bem como TDBEdit e ligar os controles ao dataset, sem precisar atribuir o valor deles no momento de salvar.
GOSTEI 0
Bruno Souza
15/09/2014
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.
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 }GOSTEI 0
Eduardo Silva.
15/09/2014
(DataModule2.estoqt.FieldByName('IMAGEM') as TBlobField).Assign(Image3.Picture.Bitmap);
sds
Eduardo Belo
sds
Eduardo Belo
GOSTEI 0
Bruno Souza
15/09/2014
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.
GOSTEI 0
Eduardo Silva.
15/09/2014
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
GOSTEI 0