У меня есть хранимая процедура, которую я тестировал напрямую, и она работает, но когда я вызываю ее из кода, я получаю сообщение об ошибке:
"В процедуре или функции editItem указано слишком много аргументов"
Может кто-нибудь подскажите, пожалуйста, почему происходит эта ошибка? Это потому, что мой sqlDataSource передает параметры из BIND, что хранимая процедура не нужна? Я думал, что дополнительные параметры просто игнорируются хранимыми процедурами.
Спасибо
Изменить: Вот еще немного информации о проблеме. Это сбило меня с толку. По сути, я получил несколько элементов, добавленных в шаблоны, например:
<EditItemTemplate>
<asp:TextBox runat="server" ID="tbEditItemDescription" Text='<%# Bind("itemDescription") %>'></asp:TextBox>
</EditItemTemplate>
Теперь, насколько я знаю, Bind предоставляет параметр автоматически. У меня также есть 5 параметров, которые я добавил вручную, например:
<UpdateParameters>
<asp:ControlParameter DbType="Int16" Name="itemTypeId" ControlID="dvIndividualItem$ddlItemTypes"
PropertyName="SelectedValue" />
<asp:ControlParameter DbType="Int16" Name="itemSubTypeId" ControlID="dvIndividualItem$ddlItemSubTypes"
PropertyName="SelectedValue" />
<asp:ControlParameter DbType="Int64" Name="itemSubSubTypeId" ControlID="dvIndividualItem$ddlItemSubSubTypes"
PropertyName="SelectedValue" />
<asp:ControlParameter DbType="Int16" Name="numberOfTurns" ControlID="dvIndividualItem$tbEditEffectTurns"
PropertyName="Text" />
<asp:ControlParameter DefaultValue="0" DbType="Int64" Name="itemId" ControlID="gvItems"
PropertyName="SelectedDataKey.Value" />
Теперь, когда я отлаживал источник данных sql, я обнаружил, что он на самом деле имеет только 5 параметров (те, которые я добавил вручную). Как это возможно, что он дает мне ошибку из-за слишком большого количества параметров, когда он имеет МЕНЬШЕ параметров, чем ему нужно? Или я просто смотрю не в том месте? Я посмотрел в UpdateParameters ==> base ==> count, который содержит 5.
Спасибо за помощь.