1
這是一個擴展: Returning SCOPE_IDENTITY() using Adodb.Command錯誤「800A01B6」:對象不支持此屬性或方法:Object.Parameters.Add」
嘗試使用ADO.Command從SP得到SCOPE_IDENTITY(),但當我運行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)
由於您使用的是SP我猜命令類型應爲4。 'SQLCOMM.CommandType = 4'。不知道這是否會照顧你的問題。 –
我的答案解決了你的錯誤嗎? –