У меня есть Идентификатор заказа 32777, объявленный как Длинный тип данных в excel. Im пытается передать его в хранимую процедуру с помощью следующей строки кода:Ошибка переполнения 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 на хранимой процедуре, но все еще получаю ошибку.
EDIT: Я изменил тип данных столбца OrderID в таблице orderdetails из int в bigint, но все равно получаю ошибку.
Может ли кто-нибудь помочь, пожалуйста?
ура
Если произошла ошибка, нажмите [Отладка]. Отобразится код, а желтая выделенная строка кода будет выделена желтым цветом. Теперь наведите указатель мыши на 'OrderID' в этой строке. Что отображается в качестве значения «OrderID»? –
его 32777. cheers – Nick
Я бы предположил, что эта ошибка не исходит из параметра, а где-то изнутри вашего SP. Если код, который вы отправили, является вашим исходным кодом, здесь что-то не так: ваша 'сумма (количество)' не имеет псевдонима, но вы, похоже, называете это «Q.QuatityOrdered». – Shnugo