1
我有一個OrderID 32777宣佈爲長數據類型在Excel中。我試着將它與下面的代碼行傳遞到存儲過程:Excel VBA溢出錯誤當試圖運行SQL服務器存儲過程與Int參數
RunStoredProcedure "dbo.updateinventory", CLng(OrderID), "Orderid"
我收到以下錯誤,當我嘗試,儘管包括調試器突出了CLng函數function.The線上面的一個:
原始存儲過程如下所示。
@OrderId Int
as
Begin
update P
Set
P.Available = P.Available - Q.QuantityOrdered,
From
Products P join
(Select ProductID, sum(Quantity) from OrderDetails where OrderID = @OrderId Group By ProductId) Q
on P.ID = Q.ProductID
End
我已經嘗試在存儲過程中將@Orderid變量的數據類型更改爲BigInt,但仍然出現錯誤。
編輯:我已經將orderdetails表中的OrderID列的數據類型從int更改爲bigint,但仍然收到錯誤。
任何人都可以協助嗎?
歡呼
如果發生錯誤,請單擊[調試]。代碼將被顯示,並且錯誤的代碼行會突出顯示。現在將鼠標指針懸停在該行的'OrderID'上。那麼什麼顯示爲'OrderID'的值? –
其32777.乾杯 – Nick
我假設,這個錯誤不是來自參數,而是來自SP內部的某個地方。如果您發佈的代碼是您的原始代碼,則此處出現問題:您的'sum(Quantity)'沒有別名,但您似乎將其稱爲'Q.QuatityOrdered'。 – Shnugo