Я хочу удалить элемент из базы данных на основе кнопки, нажатой на веб-странице. Пользователь может удалить объекты из своей учетной записи.Статус возврата обычной хранимой процедуры ASP
Я передаю номер счета и номер позиции до хранимой процедуры. Хранимая процедура удаляет элемент, если он существует, и возвращает либо 1 для успеха, либо 0, если произошла ошибка.
Моя проблема заключается в том, что страница ASP когда постоянно представлены возвращает ошибку:
ADODB.Recordset error '800a0e78' Operation is not allowed when the object is closed.
Если я подать непосредственно хранимую процедуру, я могу удалить элемент и создается запись, где состояние 1. Если это не удаляются, запись имеет статус 0.
Таким образом, должны всегда быть созданы записи, которая имеет статус либо 1 или 0.
Вот хранимая процедура:
CREATE PROCEDURE dbo.SAVED_ITEM_DELETE
@AccountID int,
@Item int
AS
BEGIN
DECLARE @Status INT
SET @Status = 1
IF EXISTS(SELECT AccountID FROM Accounts_Items
WHERE AccountID = @AccountID AND Item = @Item)
BEGIN TRY
DELETE Account_Items
WHERE AccountID = @AccountID AND Item = @Item
END TRY
BEGIN CATCH
SET @status = 0
END CATCH
SELECT @Status AS Status
END
А вот ASP, который вызывает процедуру
dim de
Set de = Server.CreateObject("ADODB.recordset")
de.open "SAVED_ITEM_DELETE 1,49", connect,2
IF not de.EOF THEN
IF de("Status") = 1 THEN
response.write request("delete") & " - deleted"
ELSE
response.write request("delete") & " - not deleted"
END IF
END IF
Я получаю ошибку на линии:
IF NOT de.EOF THEN
Пожалуйста, пожалуйста, пожалуйста, помогите! Я просто не могу понять, почему ASP не видит набор записей с полем «Статус», которое равно 1 или 0.
Зачем вам нужен набор записей? вместо этого используйте выходной параметр ... –
Я не слышал об этом раньше. Вы можете объяснить? Спасибо за ответ. – TVRV8S
sql очень прост - вы просто изменяете '@ status' от переменной до параметра и добавляете ключевое слово' output', я действительно не могу вспомнить, однако, как вернуть его в 'adoddbo.Command'. Прошло более десяти лет с тех пор, как я в последний раз использовал asp3. –