Aujourd'hui, un ami m'a demandé comment obtenir la valeur de retour de la procédure stockée dans le bloc d'application d'accès aux données. J'ai découvert que ce problème n'était pas mentionné dans les articles que j'avais écrits auparavant. Je voudrais maintenant ajouter que la solution spécifique est la suivante. suit :
1. Créez d’abord une procédure stockée avec une valeur de retour. À titre d’exemple, je vais simplement créer une procédure stockée comme suit :
créer un test de procédure
(
@id int
)
comme
déclarer @flag int
select * from person où id=@id
si @@rowcount > 0
définir @flag=1
autre
définir @flag=0
retourner @flag
La méthode que nous utilisons pour obtenir cette valeur de retour dans le programme est la suivante :
[TestMethod]
public vide TestReturnValue()
{
Base de données db = DatabaseFactory.CreateDatabase();
DbCommand dbcomm = db.GetStoredProcCommand("test");
db.AddInParameter(dbcomm, "@id", DbType.Int32,1);
//La clé est ici, ajoutez un paramètre de type ReturnValue
db.AddParameter(dbcomm, "@RETURN_VALUE", DbType.String, ParameterDirection.ReturnValue, "", DataRowVersion.Current, null);
db.ExecuteNonQuery(dbcomm);
int testvalue = (int)dbcomm.Parameters["@RETURN_VALUE"].Value;
Assert.AreEqual(testvalue, 1);
}
Grâce au code ci-dessus, nous pouvons obtenir la valeur de retour de la procédure stockée dans le programme.
Il y a peut-être beaucoup de choses que je n'ai pas mentionnées dans les articles que j'ai écrits auparavant. J'espère que plus d'amis pourront me donner leur avis. Merci !