Array
(
)

Verificar tabelas dependentes

Vispo
   - 23 out 2006

Gostaria de saber se existe algum comando no sql que retorne o nome de todas as tabelas dependentes de uma outra tabela.

Preciso disso para fazer uma validacao no meu cadastro de clientes, ou seja, antes de deletar um cliente, verificar todas as dependencias.

Abraço!

Raserafim
   - 24 out 2006

se no banco vc coloca todos os relacionamentos direitinho, ou seja, faz tudo com integridade referencial, então ao tentar deletar um registro em uma tabela que tenha registros associados a este registro que vc está tentando apagar, aí ocorrerá uma excessão.
vc não precisa varrer as tabelas para verificar isso.
o banco faz automaticamente.

Vispo
   - 26 out 2006

Realmente, ele gera uma excessão do tipo EOleException, eu gostaria de saber se tem como eu saber o que gerou essa excessão? Se foi falha de conexão com o banco, violação de integridade etc...assim eu poderia informar para o usuário exatamente o que está causando o erro.

Raserafim
   - 27 out 2006

no erro exiete também uma mensagem. vc pode tratar o erro com base no que está escrito nesta mensagem através do comando POS .

ex:
#Código

  if E.ClassType = EConvertError then
  begin
    if Pos(´is not a valid date´, E.Message) > 0 then
      Application.MessageBox(´Esta data não é válida.´, ´Aviso: data inválida!´, MB_OK + MB_ICONSTOP);
  end;