Comment utiliser DataContext.ExecuteCommand et obtenir la procédure stockée exécutée valeur de retour?
Dans un projet c#, j'ai appeler une procédure stockée comme suit:
System.Data.Linq.DataContext dataContext = MembershipContext.GetContext(connectionString);
int returnValue = dataContext.ExecuteCommand("EXEC usp_SomeProcedure {0}, {1}, {2}", param1, param2, param3);
Cependant, ExecuteCommand retourne le nombre de lignes affectées, et non de ma procédure stockée la valeur de retour. Quelle serait la façon la plus simple d'obtenir cette valeur. J'ai besoin de cette parce que le PS retourne 0 en cas de succès et une valeur positive int valeur, si une erreur s'est produite.
Pour l'instant, la procédure stockée utilise de RETOUR pour la sortie de sa valeur de retour. Cependant, j'ai la possibilité de changer cela pour SÉLECTIONNER ou je pourrais aussi utiliser un paramètre de sortie si nécessaire.
OriginalL'auteur Jean-François Beauchamp | 2012-07-25
Vous devez vous connecter pour publier un commentaire.
Je crois que vous devez définir la CommandType à CommandType.StoredProcedure afin d'obtenir la valeur de retour de votre procédure stockée. Voir la accepté de réponse ici: De retour de la valeur à partir d'une procédure stockée dans ADO.NET
OriginalL'auteur proggrock
Ne pas utiliser
DataContext
pour appeler SPs si vous n'avez pas besoin Linq2Sql fonctionnalité de mappage. Utilisez simplementSqlCommand
comme vers le bas.avec.l'.bass montre.OriginalL'auteur Serg Rogovtsev