В моем коде веб-страницы ASP.NET для Visual Studio 2008 я вызываю процедуру добавления в табличном адаптере SQL следующим образом.
NewLabID = LabItem.AddLaborItem(ThisWONum, TechID, DateTime.Now, DateTime.Now, "Working", "");
Запись добавляется правильно, но 'NewLabID' каждый раз возвращает 1, а не фактический новый LabID (LabID определяется как int / identity). Команда автоматического добавления кода:
INSERT INTO [LaborDetail] ([WONum], [TechID], [StartDate], [StopDate], [OtherType], [OtherDesc])
VALUES (@WONum, @TechID, @StartDate, @StopDate, @OtherType, @OtherDesc);
SELECT LabID FROM LaborDetail WHERE (LabID = SCOPE_IDENTITY())
и автоматически сгенерированный код, который вызывает это:
returnValue = command.ExecuteNonQuery();
При выполнении этого с отладчиком returnValue всегда равно 1. Разве вышеприведенная команда не должна возвращать новое значение поля идентификатора?