Méthode de base pour appeler une procédure stockée et utiliser la valeur de retour
Auteur:Eve Cole
Date de mise à jour:2009-05-31 00:08:21
Je n'ai jamais trouvé un bon moyen de référencer des procédures stockées avec des valeurs de retour, ce qui m'a fait faire de nombreux détours dans l'ajout de données. Récemment, après avoir consulté de nombreuses informations, je l'ai finalement trouvé dans une instance de Microsoft.
Écrivez d’abord une procédure stockée avec une valeur de retour
créer une procédure nom_proc
@para1 nchar(20), paramètres --input
@para2 int = null out --output paramètres pour l'utilisation du programme
comme
ne définir aucun compte sur
if ( n'existe pas (sélectionnez * from Employee Where em_name=@para1 ))
commencer
insérer dans les valeurs de l'employé (nom) (@para1)
select @para2=@@identity --renvoie l'ID de l'enregistrement ajouté
return 1 --renvoie si les données ont été ajoutées avec succès
fin
autre
return 0 --échec du retour
aller
Ensuite, il y a la méthode d’appel de la procédure stockée
commande sqlcommand ;
command = new sqlcommand(proc_name,new sqlconnection(connectionstr));
command.paraments.add("@para1"),"name1"); //Paramètres d'entrée, nom de l'employé
command.paraments.add(new sqlparament("@para2", //Générer un paramètre de sortie
SqlDbType.Int; //Type de données du paramètre
ParamenterDirection.OutPut, //Type d'entrée et de sortie
0,
0,
chaîne.Vide,
DataRowVerstion.Default,
null) //Valeur du paramètre, requise lors de la saisie des paramètres
);
command.commandtype=commandtype.StoredProcedure ;
commande.connexion.open();
command.executenonQuery();
int pkid=(int)command.Parameters["@para2"].value //Obtenir la valeur du paramètre de sortie
commande.connexion.close();
Voici les paramètres de sortie de référence. Si vous souhaitez référencer la valeur de retour (si les données sont ajoutées avec succès), il vous suffit de changer le type de ParamenterDirection en returnvalue, puis de modifier vous-même le nom du paramètre.