Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

CassianoVix

Refresh reenviando dados do form e tratamento de erro

Recommended Posts

PessoalTenho duas dúvidas:1- Tenho uma tela com uma listagem de dados, que precisa sofrer um refresh a cada 2 minutos. Estava utilizando a meta tag refresh pra isso, porém essa tela possui um filtro que pode ser setado pelo usuário. Aí que vem o problema: Se ele especifica um filtro, no próximo refresh a tela perde o filtro e volta a listar tudo. Como poderia fazer o refresh sem perder o que foi enviado na página? Ou seja, algo como simular o F5?2- É possível capturar erros vindos do banco de dados, para dar um tratamento genérico? Por exemplo: Quando o usuário tentar excluir um registro que esteja vinculado à outra tabela, o banco vai gerar um erro de violação de constraint, impedindo a exclusão. Queria capturar esse erro, e mostrar a mensagem ao usuário de que o registro não pode ser excluído pois existem registros dependentes dele.Tentei fazer isso utilizando tratamento de erro normal, através do objeto Err, e também usando a diretiva On Error Resume Next. Não deu certo. Sem usar a diretiva, o erro ocorre. E usando a diretiva, a tela ficou processando durante muito tempo, aparentemente usando o tempo de timeout da conexão.É isso... se alguém souber como tratar algum dos dois problemas, agradeço!AbraçosCassiano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1ª Dúvida:

Você já tento usar queystring na meta tag?

Faça esse teste que acho que pode resolver seu "problema"

 

2ª Dúvida:

Trate esse essi do banco antes, por exemplo:

Eu faça isso direto, quando cadastro o codigo do cliente em duas tabelas eu faço a busca antes ex:

OBS: é só um exemplo caso ache interessante adapte

 

Select * From Empresa,Cliente Where codigoEmpresa = '2' And codigoCliente = '2'

If Rs.EOF then
   Conn.Execute("Delete From Usuario Where codigoUsuario = '2'")
Else
   Response.Write ("você não pode deletar esse usuario, ele está sendo usado em outro lugar")
End If

Acho que você ñ precisa tratar esse erro do banco ñ cara

faça o tratamento antes como mostro acima!

Compartilhar este post


Link para o post
Compartilhar em outros sites

1ª Dúvida:Você já tento usar queystring na meta tag?Faça esse teste que acho que pode resolver seu "problema"2ª Dúvida:Trate esse essi do banco antes, por exemplo:Eu faça isso direto, quando cadastro o codigo do cliente em duas tabelas eu faço a busca antes ex:OBS: é só um exemplo caso ache interessante adapte

Select * From Empresa,Cliente Where codigoEmpresa = '2' And codigoCliente = '2'If Rs.EOF then   Conn.Execute("Delete From Usuario Where codigoUsuario = '2'")Else   Response.Write ("você não pode deletar esse usuario, ele está sendo usado em outro lugar")End If
Acho que você ñ precisa tratar esse erro do banco ñ carafaça o tratamento antes como mostro acima!
TedSobre a primeira dúvida, vou tentar fazer isso q você disse. Não tentei antes pois no meu caso tudo está sendo enviado via POST, e eu teria que converter pra QueryString.. mas vale a tentativa.Sobre a segunda, eu sei que verificando antes, funcionaria.. mas o que eu queria evitar é justamente ter que ficar dando selects antes de deletar, pois tenho algumas tabelas que são referenciadas em muitas outras.. ficaria complicado ter que testar se o registro existe em várias tabelas pra depois deletar. Até mesmo pra dar manutenção no sistema depois. Mas valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.