Fórum Como verificar se o registro foi inserido [MySQL] #431673
29/12/2012
0
Boa galera...
Como saber se um registro foi realmente inserido, alterado ou apagado?
Estou usando o Zeos Lib e estou fazendo mais ou menos assim:
só que esse "try" veririfica somente se o SQL foi executado, e não se o registro foi inserido. Pois pode dá vários tipos de erro na inserção como 'duplicate primary key', erro de sql, entre outros...
Existe alguma rotina pronta para fazer essa verificação?
Como saber se um registro foi realmente inserido, alterado ou apagado?
Estou usando o Zeos Lib e estou fazendo mais ou menos assim:
sql := 'INSERT INTO TABELA (...) VALUES (...);';
try
tabela.ExecSQL(sql);
finally
ShowMessage('Inserido com sucesso.');
end;
só que esse "try" veririfica somente se o SQL foi executado, e não se o registro foi inserido. Pois pode dá vários tipos de erro na inserção como 'duplicate primary key', erro de sql, entre outros...
Existe alguma rotina pronta para fazer essa verificação?
Romario Melo
Curtir tópico
+ 0
Responder
Posts
30/12/2012
Silvio Costa
Boa tarde Romario,
Você colocou a mensagem de registro inserido com sucesso dentro de um bloco finally, dano erro ou não a mensagem será exibida.
Vc pode colocar essa mensagem logo após a inserção do registro(dentro do try), pois se o registro for inserido ele exibirá a mensagem senão nada será exibido(caso ocorra algum erro) e outra mensagem caso não seja incluido.
Ex:
Caso queira recuperar a mensagem de erro, tente isso:
Espero ter ajudado, caso tenha algum erro de sintaxe me perdoe, parei de mecher com delphi uns meses e às vezes foge algo.
Abcc e bom fim de ano
Você colocou a mensagem de registro inserido com sucesso dentro de um bloco finally, dano erro ou não a mensagem será exibida.
Vc pode colocar essa mensagem logo após a inserção do registro(dentro do try), pois se o registro for inserido ele exibirá a mensagem senão nada será exibido(caso ocorra algum erro) e outra mensagem caso não seja incluido.
Ex:
sql := 'INSERT INTO TABELA (...) VALUES (...);';
try
tabela.ExecSQL(sql);
ShowMessage('Inserido com sucesso.');
except
ShowMessage('Ocorreu um erro, contate o administrador);
end;
Caso queira recuperar a mensagem de erro, tente isso:
sql := 'INSERT INTO TABELA (...) VALUES (...);';
try
tabela.ExecSQL(sql);
ShowMessage('Inserido com sucesso.');
except
on E : Exception do
ShowMessage(E.ClassName+' erro, mensagem : '+E.Message+' Contate o administrador informando esse erro!');
end;
Espero ter ajudado, caso tenha algum erro de sintaxe me perdoe, parei de mecher com delphi uns meses e às vezes foge algo.
Abcc e bom fim de ano
Responder
Gostei + 0
30/12/2012
Marco Salles
o que o amigo acima colocou esta correto , porem tem que ser feito resalvas .. Eu não utilizo a Biblioteca Zeos a pergunta
é , tabela.ExecSQL(sql) gera exceção ??? Se sim ( eu não utilizao..) a estrutura é esta mesmo
é , tabela.ExecSQL(sql) gera exceção ??? Se sim ( eu não utilizao..) a estrutura é esta mesmo
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)