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 :
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
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...

Merci de votre aide.