ApplicationEvents não pega nenhuma exceção
Bom, coloquei o ApplicationEvents no meu form principal e coloquei apenas o seguinte codigo para testes:
Showmessage(E.message);
porém, não aconteçe nada, tentei até debugar a aplicação e nem passar por esta linha de comando.
Showmessage(E.message);
porém, não aconteçe nada, tentei até debugar a aplicação e nem passar por esta linha de comando.
Ronaldo Lanhellas
Curtidas 0
Respostas
Rodrigo Mattos
11/03/2011
amigo não entendi?
GOSTEI 0
Ronaldo Lanhellas
11/03/2011
eu tenho um trigger que faz a redução do estoque de produtos, porém antes de reduzir ele verifica se tem produto no estoque ! se não tiver o produto ele faz:
raise exc_qualquer -chama uma exceção
e estou tentando pegar esta exception com o ApplicationEvents e não consigo
GOSTEI 0
Rodrigo Mattos
11/03/2011
amigo que componente de conexão você está utilizando?
GOSTEI 0
Ronaldo Lanhellas
11/03/2011
Estou usando o TSQLCOnnection (DBX)
GOSTEI 0
Ronaldo Lanhellas
11/03/2011
ninguem pode me ajudar??
GOSTEI 0
Marco Salles
11/03/2011
eu tenho um trigger que faz a redução do estoque de produtos, porém antes de reduzir ele verifica se tem produto no estoque ! se não tiver o produto ele faz:
raise exc_qualquer -chama uma exceção
e estou tentando pegar esta exception com o ApplicationEvents e não consigo
GOSTEI 0
Ronaldo Lanhellas
11/03/2011
ta mais ... ele não pode salvar se ocorrer algum erro, então eu posso fazer assim:
if cds.ApplyUpdates(0) > 0 thenAbort;
????
if cds.ApplyUpdates(0) > 0 thenAbort;
????
GOSTEI 0
Marco Salles
11/03/2011
ta mais ... ele não pode salvar se ocorrer algum erro, então eu posso fazer assim:
if cds.ApplyUpdates(0) > 0 then
Abort;
????
.. Mas o detalhe que ele mesmo "aborta" o processo
Veja se vc tiver salvando 100 Registro , se um deles tiver alguma coisa errada , ele nao commita nenhum
É um processo de Transação digamos assim RAD
GOSTEI 0
Ronaldo Lanhellas
11/03/2011
Certo, percebi que ele não "commita" se tiver algum erro, porém percebi que você deve dar um "refresh total" (quando digo refresh total, quero dizer que você deve fechar a conexão com o banco totalmente, e abrir novamente) para que mostre os registros reais sem aquele que não foi inserido.
Já com abort ele mostra na hora os registros reais...
Ex:
Cadastro o produto MEIA, porém da algum erro e ele não commita.
GOSTEI 0
Marco Salles
11/03/2011
Certo, percebi que ele não "commita" se tiver algum erro, porém percebi que você deve dar um "refresh total" (quando digo refresh total, quero dizer que você deve fechar a conexão com o banco totalmente, e abrir novamente) para que mostre os registros reais sem aquele que não foi inserido.
Já com abort ele mostra na hora os registros reais...
Ex:
Cadastro o produto MEIA, porém da algum erro e ele não commita.
Já com abort ele mostra na hora os registros reais...
Ex:
Cadastro o produto MEIA, porém da algum erro e ele não commita.
Já com abort ele mostra na hora os registros reais...
Não . Não mostra. Ele so vai mostrar os registros reais se vc der um refresh ou um close open
Pode ser que no seu codigo um abort gera uma exceção e no tratamento desta exceção incondicionalmente vc
dar close open /ou Refresh o que esta lhe causando esta falsa impressão
GOSTEI 0