Я должен сделать быстрое и грязное хранилище сеансов sql для классического asp, поэтому у меня есть следующая хранимая процедура, которая выполняет вставку.Когда я запускаю его из sql management studio или через asp-код, он вставляется нормально, но не возвращает scope_identity.Странно то, что когда я выполняю процедуру из кода, который я получаю, «операция запрещена, когда объект закрыт», сообщение об ошибке в строке, где он проверяет rs.eof.
create procedure InsertSessionValue
@keyname varchar(50),
@value varchar(max)
as
declare @ID int
delete from storedsessionsimple where datesaved < dateadd(d, -1, getdate())
insert into dbo.StoredSessionSimple (SessionKey, SessionValue, DateSaved) values (@keyname, @value, getdate())
set @ID = SCOPE_IDENTITY()
return @ID
икод asp ...
set cnLocal = GetConnection()
cnLocal.open()
set rs = cnLocal.execute("exec InsertSessionValue '" & SessionKey & "','" & SessionValue & "'")
if not rs.eof then
id = rs(0)
end if
rs.close: set rs = nothing
end if
cnLocal.close: set cnLocal = nothing