Try Exception não funciona.
Tenho este código no meu botão apagar.
procedure TFrmPrincipal.SpeedButton5Click(Sender: TObject);
begin
if MessageDlg(´Você deseja realmente deletar este registro?´,
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
ADOQuery1.delete;
end;
So que se o banco de dados estiver vazio ele dá um erro, ja pesquisei sobre try, exception aqui no forum mais ainda não entendi o funcionamento.
Uso ADO com Acess e delphi7. Gostaria de um exemplo fácil e prático.
procedure TFrmPrincipal.SpeedButton5Click(Sender: TObject);
begin
if MessageDlg(´Você deseja realmente deletar este registro?´,
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
ADOQuery1.delete;
end;
So que se o banco de dados estiver vazio ele dá um erro, ja pesquisei sobre try, exception aqui no forum mais ainda não entendi o funcionamento.
Uso ADO com Acess e delphi7. Gostaria de um exemplo fácil e prático.
Uoquisala
Curtidas 0
Respostas
Dataclass
04/07/2004
Colega,
Acredito que bastaria você testar se o DataSet está vazio,desta forma:
Acredito que bastaria você testar se o DataSet está vazio,desta forma:
if ADOQuery1.IsEmpty() then ShowMessage(´Não existem registros!´) else ADOQuery1.Delete;
GOSTEI 0
Vinicius2k
04/07/2004
Colega,
A solução do colega DataClass é a mais apropriada... se vc já sabe que vai haver uma exceção, porque deixá-la ocorrer?
Apenas para seu conhecimento, os blocos try(´tente´)...except(´exceção´), visam interceptar erros da aplicação e tomar alguma providência indicada por vc... por exemplo:
ou se vc desejar exibir ou comparar alguma coisa na mensagem original da exceção pode fazer assim :
Espero ter ajudado...
T+
A solução do colega DataClass é a mais apropriada... se vc já sabe que vai haver uma exceção, porque deixá-la ocorrer?
Apenas para seu conhecimento, os blocos try(´tente´)...except(´exceção´), visam interceptar erros da aplicação e tomar alguma providência indicada por vc... por exemplo:
if MessageDlg(´Você deseja realmente deletar este registro?´, mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin try ADOQuery1.delete; except ShowMessage(´Ocorreu um erro !´); end; end;
ou se vc desejar exibir ou comparar alguma coisa na mensagem original da exceção pode fazer assim :
if MessageDlg(´Você deseja realmente deletar este registro?´, mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin try ADOQuery1.delete; except on E: Exception do ShowMessage(´Ocorreu um erro e a mensagem é :´ + E.Message); end; end;
Espero ter ajudado...
T+
GOSTEI 0