ASP.net DAL получить идентификатор только что вставленной записи - PullRequest
0 голосов
/ 28 января 2011
        // 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);

Хранимая процедура, которую она вызывает, выглядит следующим образом:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GetLastID]
AS
    SET NOCOUNT ON;
select @@identity FROM tblArtworkTemplates

Я не могу заставить ее работать, я новичок в этом DAL, любая помощь приветствуется!

1 Ответ

1 голос
/ 28 января 2011

Я предполагаю, что это SQL Server?Вы должны вернуть идентификатор вновь вставленной записи из хранимой процедуры INSERT INTO.Подробнее о @@Identity см. @@ IDENTITY (Transact-SQL)

Возвращает идентификатор вновь вставленной записи из вашей хранимой процедуры:

SELECT ID AS LastID FROM tblArtworkTemplates WHERE ID = @@Identity; 

Foreподробнее см. Как получить последний введенный идентификатор на SQL Server .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...