Ich rufe eine gespeicherte Prozedur in einer SQL Server 2005-Datenbank auf, die ein XML-Resultset zurückgibt. Manchmal wird ein Ergebnisergebnis von null zurückgegeben, da keine Zeilen zurückgegeben werden. Wenn dies geschieht, löst die ExecuteXmlReader-Methode eine TargetInvocationException aus. Dies scheint ein bekanntes Problem zu sein (siehe: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/5e90e3c0-605b-406d-848a-dea7b16f458e/).
Was ist der beste Weg, um diese Ausnahme zu behandeln?ExecuteXmlReader und null Resultset löst TargetInvocationException
0
A
Antwort
1
Ich kann mir 3 Möglichkeiten
- Ändern Prozedur gespeichert
- Ändern Code einen Dummy/leeren Wert zurück - fangen Ausnahme und nichts tun - oder log Fehler
- Verwenden DataSet - Sie sollten ein leeres DataSet erhalten, also prüfen Sie, ob DataSet leer ist oder nicht.
als so für die dritte Wahl im Zusammenhang veröffentlichen, ist hier eine Frage SO, wie Sie überprüfen, ob Datensatz leer ist oder nicht