J'ai un TableAdapter qui récupère des lignes à partir d'un stored procedure. Pour une raison quelconque, lorsqu'il n'y a aucun résultat, le TableAdapter retourne un INT avec la valeur 0 au lieu de NULL. La procédure stockée a NOCOUNT ON
.TableAdapter renvoie des résultats fantômes dans ASP.NET
Le problème avec ceci est que j'ai un ListView dans le frontend avec un EmptyDataTemplate, qui n'est pas montré. Lorsque j'ai exécuté la requête dans Analyseur de requêtes, je vois qu'il renvoie 0 au lieu de NULL.
La procédure stockée a un simple 'SELECT * FROM WHERE' avec un paramètre INT (NOT Output). En l'exécutant dans Query Analyzer, je n'obtiens aucune sortie, comme prévu.
Que se passe-t-il?
En fait, j'ai vérifié que ce n'est pas le cas. L'exécution de la requête dans Query Analyzer n'a renvoyé aucun résultat et, de même, l'exécution de mes autres SP n'ayant aucun résultat dans le Concepteur de jeu de données n'a pas généré ce résultat fantôme. –
Si vous prenez votre procédure stockée dans Sql Server Management Studio et que vous choisissez d'exécuter dans une nouvelle fenêtre, elle affiche un @rc. C'est toujours 0 si le sproc s'exécute et vous ne le changez pas. Ce peut être une coïncidence. –
Ok, vous avez raison - c'est le cas. Cependant, si tel est le cas, tous les SP retournent 0 dans le concepteur de jeu de données lorsqu'ils n'ont aucun résultat? Cela ne semble pas se produire. Et ce qui est vraiment frustrant, c'est que ma ListView ne reconnaisse pas qu'il n'y a aucun résultat. Des pensées sur ce qui pourrait arriver? –