Pergunta

Eu estou chamando um procedimento armazenado em um banco de dados SQL Server 2005 que retorna um conjunto de resultados XML. Às vezes ele vai retornar um conjunto de resultados nulos becuase não há linhas para retornar. Quando isso acontece athe método ExecuteXmlReader lança uma TargetInvocationException. Este parece ser um problema conhecido (ver: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/5e90e3c0-605b-406d-848a-dea7b16f458e/ ).
Qual é a melhor maneira de lidar com essa exceção?

Foi útil?

Solução

Não consigo pensar em 3 opções

  1. Modificar procedimento armazenado para retornar um valor manequim / vazio
  2. Modificar Código - exceção captura e não fazer nada - ou erro de log
  3. Use DataSet -. Você deve obter um DataSet vazio, então apenas verificar se DataSet está vazio ou não

Como um post SO relacionado para a 3ª escolha, aqui é uma pergunta SO sobre como verificar se o DataSet está vazio ou não

Em C #, qual é a melhor maneira de testar se um conjunto de dados está vazio?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top