Bonjour,
J'essaie de récupérer l'id généré automatiquement lors d'une insertion dans la base de données, afin de l'utiliser pour une autre insertion, mais j'ai un message d'erreur m'indiquant que mon DataReader est vide. Pourtant, en effectuant directement la requête depuis l'invite SQL, je reçois bien le résultat voulu.
Mon code est le suivant :
J'ai vérifié si l'enregistrement est bien effectué par cmd2 et c'est le cas, donc je ne comprends pas du tout pourquoi rdr3 ne retourne rien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SqlCommand cmd2 = new SqlCommand("INSERT INTO Page (page_name, page_secured) VALUES (@pagename, @pagesecured)", conn); cmd2.Parameters.Add(new SqlParameter("@pagename", pagename)); cmd2.Parameters.Add(new SqlParameter("@pagesecured", '0')); cmd2.ExecuteNonQuery(); // Create this new page SqlCommand cmd3 = new SqlCommand("SELECT page_id FROM Page WHERE page_name = @pagename", conn); cmd3.Parameters.Add(new SqlParameter("@pagename", pagename)); SqlDataReader rdr3 = cmd3.ExecuteReader(); pageid = rdr3["page_id"]; // Get the id of the page
Merci de votre aide.
Partager