Pregunta

Estoy llamando a un procedimiento almacenado en una base de datos de SQL Server 2005 que devuelve un conjunto de resultados XML. A veces devolverá un conjunto de resultados nulo porque no hay filas para devolver. Cuando esto sucede, el método ExecuteXmlReader lanza una excepción TargetInvocationException. Esto parece ser un problema conocido (consulte: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/5e90e3c0-605b-406d-848a-dea7b16f458e/ ).
¿Cuál es la mejor manera de manejar esta excepción?

¿Fue útil?

Solución

Puedo pensar en 3 opciones

  1. Modificar procedimiento almacenado para devolver un valor ficticio / vacío
  2. Modificar código : detecte una excepción y no haga nada, o registre un error
  3. Use DataSet : debe obtener un DataSet vacío, así que simplemente verifique si DataSet está vacío o no.

Como una publicación SO relacionada para la tercera opción, aquí hay una pregunta SO sobre cómo verificar si DataSet está vacío o no

En C #, ¿cuál es la mejor manera de comprobar si un conjunto de datos está vacío?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top