• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

morsa

[Resolvido] [VB 2005] Controlo do comportamento do bloco Try-Catch

5 mensagens neste tópico

Olá people! Tudo?

A dúvida é a seguinte:

Try
     nart.Descricao = ds.Tables(0).Rows(0).Item("descricao")
     nart.preco = ds.Tables(0).Rows(0).Item("preco")
     Catch ex As Exception

End Try

Se o primeiro valor não existir na tabela do Dataset é atirada a excepção mas eu queria que a execução continuasse para o segundo valor, no caso de não haver um primeiro. Existem itens para a classe associada que nem sempre se encontram disponíveis a partir da query que o originou.

Solucionar isto com um try-catch para cada coluna da tabela é quase "dar um tiro na cabeça!" ! Eu ja fiz isto em VB 2003 daí saber que é possível...

Alguma dica? 1abraço!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para não teres esse trabalho, porque não tratas logo na query que executas ? Em vez de teres algo do tipo:

SELECT descricao, preco FROM Tabela Where ID=1

podes optar por algo deste genero:

SELECT ISNULL(descricao,''), ISNULL(preco,0.00) FROM Tabela WHERE ID=1

Desta forma garantes que não haja problemas de cast ao fazeres o set dos valores.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tb podes tentar assim:

If Not IsDBNull(ds.Tables(0).Rows(0).Item("descricao")) Then

n testei... mas dev funcionar  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tb funciona... eu só queria algo.. bom...

Apetecia-me Ferrero Rocher :thumbsup:

1abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora