ExecuteXmlReader y el conjunto de resultados nulo lanza la excepción TargetInvocationException
-
03-07-2019 - |
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?
Solución
Puedo pensar en 3 opciones
- Modificar procedimiento almacenado para devolver un valor ficticio / vacío
- Modificar código : detecte una excepción y no haga nada, o registre un error
- 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?