// Add into DB
int recordID = 0;
using (tblArtworkTemplatesTableAdapter tblAdapter = new tblArtworkTemplatesTableAdapter())
{
tblAdapter.Insert(DateTime.Now, int.Parse(lstChooseSpec.SelectedValue), Master.loginData.loggedInUser.ID);
recordID = int.Parse(tblAdapter.GetLastID().ToString());
}
// Redirect
Response.Redirect("artworkDesigner.aspx?ID=" + recordID);
La procédure stockée qu'il appelle est:ASP.net DAL obtenir ID d'enregistrement juste inséré
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GetLastID]
AS
SET NOCOUNT ON;
select @@identity FROM tblArtworkTemplates
Je ne peux pas sembler le faire fonctionner, je suis un newb avec ce genre de choses DAL toute aide appréciée!
Vous souhaitez probablement utiliser SCOPE_IDENTITY à la place. Voici plus d'informations: http://msdn.microsoft.com/en-us/library/ms190315.aspx –
Ceci est l'un de ces commentaires que vous avez vraiment besoin d'une macro sur StackOverflow, comme "utiliser JQuery", mais vous devez jetez un oeil à Entity Framework ... il fait beaucoup de tout ce type de code de câblage en fumée. J'ai fait ce gâchis pendant des années, et je ne reviendrai jamais. Si vous n'aimez pas EF, consultez NHibernate. –
... ou même tout simplement ancien LINQ to SQL. –