Je suis à l'aide d'un objet SqlCommand pour insérer un enregistrement dans une table avec une clé primaire générée automatiquement. Comment puis-je écrire le texte de la commande afin que je reçois le nouvellement créé ID lorsque j'utilise le ExecuteScalar() la méthode?
Réponses
Trop de publicités?
Andy McCluggage
Points
8583
JoshBerke
Points
34238
Matt
Points
410
Ajouter un paramètre de sortie pour la commande de l'objet, puis définissez la valeur de la nouvelle carte d'identité dans la procédure stockée.
Procédure Stockée:
@ID AS INT OUTPUT
[Insert Command]
SET @ID = SCOPE_IDENTITY()
.NET:
cmd.CommandText = "stored_procedure";
SqlParameter pID = new SqlParameter("ID", DBType.Int32, 4);
pID.Direction = ParameterDirection.Output;
cmd.ExecuteScalar();
int id = Convert.ToInt32(cmd.Parameters["ID"].Value.ToString());
Samiksha
Points
2182