ExecuteXmlReader e null Resultset genera TargetInvocationException
-
03-07-2019 - |
Domanda
Sto chiamando una procedura memorizzata su un database SQL Server 2005 che restituisce un set di risultati XML. A volte restituisce un set di risultati null perché non ci sono righe da restituire. Quando ciò accade, il metodo ExecuteXmlReader genera una TargetInvocationException. Questo sembra essere un problema noto (vedi: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/5e90e3c0-605b-406d-848a-dea7b16f458e/ ).
Qual è il modo migliore per gestire questa eccezione?
Soluzione
Posso pensare a 3 scelte
- Modifica stored procedure per restituire un valore fittizio / vuoto
- Modifica codice - rileva l'eccezione e non fare nulla - o registra l'errore
- Utilizza DataSet : dovresti ottenere un DataSet vuoto, quindi controlla se DataSet è vuoto o meno.
Come post SO correlato per la 3a scelta, ecco una domanda SO su come verificare se DataSet è vuoto o meno
In C #, qual è il modo migliore per verificare se un set di dati è vuoto?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow