2009-03-02 4 views
0

J'appelle une procédure stockée sur une base de données SQL Server 2005 qui renvoie un jeu de résultats XML. Parfois, il retournera un résultat nul car il n'y a pas de lignes à retourner. Lorsque cela se produit, la méthode ExecuteXmlReader lève une exception TargetInvocationException. Cela semble être un problème connu (voir: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/5e90e3c0-605b-406d-848a-dea7b16f458e/).
Quelle est la meilleure façon de gérer cette exception?ExecuteXmlReader et null Resultset Lance TargetInvocationException

Répondre

1

Je peux penser à 3 choix

  1. Modifier procédure stockée pour retourner un mannequin/valeur vide
  2. Modifier Code - exception des prises et ne rien faire - ou log erreur
  3. Utilisez DataSet - Vous devriez obtenir un DataSet vide, vérifiez donc si DataSet est vide ou non.

En tant que lié pour le poste afin 3ème choix, voici une question SO sur la façon de vérifier si DataSet est vide ou non

In C#, what is the best way to test if a dataset is empty?

Questions connexes