alemoraes Postado Abril 12, 2018 Denunciar Share Postado Abril 12, 2018 Boa noite Preciso fazer uma validação do campo PAT_FOTO (campo blob no Firebird para Imagem) antes de Salvar, ou seja, se não escolheu a Foto e tentar salvar aparece a mensagem de aviso. Só que mesmo selecionando a foto e tentar salvar, a mensagem de aviso aparece e não deixar gravar no banco. Estou usando FDQuery (Firedac) e não achei a instrução AsBlob para o campo Segue o código: (Coloquei este código no botão de Gravar antes de dar o Post) if dmDados.FDQueryPatrimonioPAT_FOTO.AsString = ‘’ then begin Showmessage('Inclua uma foto para o Patrimônio.'); BitBtn2.SetFocus; Abort; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 12, 2018 Denunciar Share Postado Abril 12, 2018 se não escolheu a Foto e tentar salvar aparece a mensagem de aviso. Só que mesmo selecionando a foto e tentar salvar, a mensagem de aviso aparece e não deixar gravar no banco. coloque o código que voce usa para salvar a foto no banco de dados e o código que voce usa para selecionar a foto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alemoraes Postado Abril 13, 2018 Autor Denunciar Share Postado Abril 13, 2018 Jhonas, desculpe a demora, agora que retornei ao projeto. Estou usando o componente EDBImage Banco Firebird 2.5 // BOTÃO PARA INSERIR FOTO procedure TfrmPatrimonio.BitBtn2Click(Sender: TObject); var vJpg: TJpegImage; begin if odImagem.Execute then begin vJpg:= TJpegImage.Create; vJpg.LoadFromFile(odImagem.FileName); Clipboard.Assign(vJpg); EDBImageFoto.PasteFromClipboard; vJpg.Free; end; end; // BOTÃO GRAVAR procedure TfrmPatrimonio.btnGravarClick(Sender: TObject); begin if dmDados.FDQueryPatrimonioPAT_DESCRICAO.AsString = '' then begin Showmessage('Descrição do Patrimônio deve ser informado!'); DBEditDescricao.SetFocus; Abort; end; if dmDados.FDQueryPatrimonioPAT_FOTO.AsString then begin Showmessage('Inclua uma foto para o Patrimônio.'); //EDBImageFoto.SetFocus; BitBtn2.SetFocus; Abort; end; if dmDados.dsPatrimonio.State in [dsInsert, dsEdit] then begin dmDados.tblPatrimonio.Post; dmDados.tblPatrimonio.Refresh; lblTotal.Caption:= FormatCurr('R$ #,0.00', SomaColuna); // atualiza soma na coluna valor total end; // restaura; desabilita; DBLookupComboBox1.SetFocus; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 13, 2018 Denunciar Share Postado Abril 13, 2018 Veja esses links ... tem exemplos que vão te ajudar https://www.devmedia.com.br/forum/duvida-salvar-imagem-jpg-no-firebird/400958 http://www.activedelphi.com.br/forum/viewtopic.php?t=50025&highlight=cantu OBS: não aconselho armazenar imagens em banco de dados ( dependendo do tamanho, fica muito lento a pesquisa e trafego pela rede ) abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alemoraes Postado Abril 15, 2018 Autor Denunciar Share Postado Abril 15, 2018 Jhonas obrigado pelos posts Eu compreendi o que você me passou sobre gravar o caminho da foto, pois é bem mais prático e rápido e senão me engano o componente OpenDialog tem a propriedade InitialDir onde pode deixar como default o caminho da pasta para escolher a foto, e escolhendo a foto pelo OpenDialog, o endereço da foto fica gravado em um DBEditFoto por exemplo. (Resolvido) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
alemoraes
Boa noite
Preciso fazer uma validação do campo PAT_FOTO (campo blob no Firebird para Imagem) antes de Salvar, ou seja,
se não escolheu a Foto e tentar salvar aparece a mensagem de aviso. Só que mesmo selecionando a
foto e tentar salvar, a mensagem de aviso aparece e não deixar gravar no banco.
Estou usando FDQuery (Firedac) e não achei a instrução AsBlob para o campo
Segue o código: (Coloquei este código no botão de Gravar antes de dar o Post)
if dmDados.FDQueryPatrimonioPAT_FOTO.AsString = ‘’ then
begin
Showmessage('Inclua uma foto para o Patrimônio.');
BitBtn2.SetFocus;
Abort;
end;
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.