Je suis novice dans l'écriture de procédure stockée. J'ai donc écrit un avec les paramètres de sortie et je veux accéder à la valeur de sortie, chaud pour le faire.Comment utiliser le paramètre OUTPUT dans la procédure stockée
Ma procédure stockée:
ALTER PROCEDURE selQuery
(
@id int, @code varchar(50) OUTPUT
)
AS
SELECT RecItemCode = @code, RecUsername from Receipt where RecTransaction = @id
RETURN @code
Si vous essayez de définir « code @ = RecItemCode » obtenir erreur: « Une instruction SELECT qui attribue une valeur à une variable ne doit pas être associée à des opérations de données de récupération. »
Et j'utilise la procédure stockée comme:
con.Open();
cmd.Parameters.AddWithValue("@id", textBox1.Text);
SqlParameter code = new SqlParameter("@code", SqlDbType.Int);
code.Direction = ParameterDirection.Output;
cmd.Parameters.Add(code);
SqlDataReader sdr = cmd.ExecuteReader();
MessageBox.Show(cmd.Parameters["@code"].Value.ToString()); // getting error
con.Close();
Erreur: « Référence d'objet non définie à une instance d'un objet. » Je veux obtenir la valeur du paramètre de sortie. Comment l'obtenir?
Merci.
merci anthony, ça a beaucoup aidé .... merci beaucoup – Sandy
Merci et +1. 'object obj = cmd.ExecuteScalar();' travaillé parfaitement. J'ai été capable d'accomplir ce dont j'avais besoin dans deux lignes de code C#, la seconde étant 'myString = obj.ToString();'. – FumblesWithCode