ошибка '800a01b6': объект не поддерживает это свойство или метод: Object.Parameters.Add ' - PullRequest
1 голос
/ 30 августа 2011

Это расширение: Возвращение SCOPE_IDENTITY () с использованием Adodb.Command

Попытка получить SCOPE_IDENTITY () с использованием ADO.Command от SP, но при запуске я получаю ошибкуAdo.Command .. Вот пример кода:

Хранимая процедура:

CREATE PROCEDURE TESTSP
@LASTID int OUTPUT

AS
BEGIN
SET NOCOUNT ON;

INSERT INTO TABLE1 (VAL1,VAL2) VALUES (VAL1,VAL2)

SET @LASTID = SCOPE_IDENTITY()

Запрос ADO:

set SQLCOMM = Server.CreateObject("ADODB.Command")
SQLCOMM.ActiveConnection = CONNSTRING
SQLCOMM.CommandText = TESTSP
SQLCOMM.CommandType = 1
SQLCOMM.CommandTimeout = 0
SQLCOMM.Prepared = true

LastIDParameter = SQLCOMM.CreateParameter("@LastID",3,2)
SQLCOMM.Parameters.Add(LastIDParameter) 

SQLCOMM.Execute()

INSERT_RETURNS_SCOPEID=LastIDParameter.Value

set SQLCOMM=Nothing

Это вызывает ошибку: LastIDParameter = SQLCOMM.CreateParameter("@LastID",3,2)

1 Ответ

1 голос
/ 30 августа 2011

Ваша линия:

SQLCOMM.CommandType = 1

должно быть вместо:

SQLCOMM.CommandType = CommandType.StoredProcedure
...