J'essaie de compter et d'afficher le nombre de journaux effectués par divers utilisateurs à partir de la section Admin.
Chaque utilisateur a un UserID et à travers cela, je voudrais compter et afficher des données d'une table spécifique.
J'ai fait une procédure stockée et l'ai transmise au contrôleur via un obstacle de la vue, mais cela continue de retourner 1 comme total pour toutes les valeurs.
La procédure est inférieure à contrôleur: p>
3 Réponses :
Tout d'abord, votre procédure stockée est exactement comme prévu, car Vous devez écrire votre résultat dans une autre variable comme indiqué ci-dessous. P> puis lisez cette valeur;) p> @@ rowcount code> renvoie le nombre de lignes dans le résultat.
Le paramètre formel "@userid" n'a pas été déclaré comme paramètre de sortie, mais le paramètre réel adopté dans la sortie demandée. '
n'utilise pas la variable globale @@ RowCount
Vous devez enregistrer la valeur du nombre (*) dans votre demande, consultez le code ci-dessous, P>
CREATE proc [Usp_GetCallCountByUserID]
@UserID int,
@RowCount int output
AS
BEGIN
SELECT @RowCount = COUNT (*) FROM Customer Where UserID= @UserID
GROUP BY UserID
END
GO
Si j'ai raison, vous feriez quelque chose comme ceci: p> veuillez modifier appelant C # code en conséquence. Vous n'avez pas besoin du groupe par clause, si vous regroupez par le même champ, vous filtrez sur. P> Considération: IMO Une procédure stockée est surchargée pour une tâche aussi simple et ne donne aucune amélioration de performance raisonnable, Excectionnellement si votre application et votre serveur DB sont toujours en hausse (les deux optimiseront l'exécution de la requête, si répétée). Lorsque les requêtes sont si simples, je préférerais exécuter un commandtType.text dBCommand: p> Enfin, puisque vous semblez utiliser une sorte d'ormes (cadre d'entité?), Pourquoi pas seulement: p> qui est presque équivalent au code ci-dessus. p> p>
Oui, ce code fonctionnerait pour moi si je voulais récupérer le total des enregistrements. Mais ce que je veux vraiment, c'est une requête: sélectionnez Count (*) des clients où Userid = @ userid. En effet, j'ai diverses utilisateurs et donc besoin pour chaque utilisateur
Oh, d'accord, vous avez des clients qui ont une clé étrangère pour les utilisateurs. Un utilisateur peut avoir un ou plusieurs clients. Vous souhaitez trouver le nombre total de clients pour l'utilisateur actuel. Si cela est correct, je modifierai ma réponse en conséquence.
Exactement. J'apprécierais
Sinon, quel est le meilleur moyen de contourner ce problème.