Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не передается параметр в хранимую процедуру в sqldatasource / 1 сообщений из 1, страница 1 из 1
27.02.2013, 20:20
    #38168638
Не передается параметр в хранимую процедуру в sqldatasource
Всем привет!

Есть такой источник данных:

<asp:SqlDataSource ID="dsComm" runat="server" ConnectionString="<% =ConnectionString %>"
SelectCommand="Comment_Select" SelectCommandType="StoredProcedure"
DeleteCommand="Comment_Delete" DeleteCommandType="StoredProcedure"
InsertCommand="Comment_Insert" InsertCommandType="StoredProcedure"
UpdateCommand="Comment_Update" UpdateCommandType="StoredProcedure">
<DeleteParameters>
<asp:Parameter Name="ID_Comment" Type="Int32" />
<asp:SessionParameter SessionField="CurrentUserId" Name="Person_ID" DefaultValue="0" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="ID_Comment" Type="Int32" />
<asp:SessionParameter SessionField="CurrentUserId" Name="Person_ID" DefaultValue="0" Type="Int32" />
<asp:Parameter Name="Comment" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>

Этот источник привязан к такому гриду:

<dxwgv:ASPxGridView ID="CommGrid" runat="server" AutoGenerateColumns="False"
ClientInstanceName="CommGrid" DataSourceID="dsComm"
OnCommandButtonInitialize="CommGrid_CommandButtonInitialize" OnDataBound="CommGrid_DataBound"
KeyFieldName="ID_AccountabilityComment" SkinID="gridviewSkin" Width="100%">
<SettingsBehavior AllowFocusedRow="True" ConfirmDelete="True" />
<Columns>
<dxwgv:GridViewDataTextColumn FieldName="ID_Comment" ReadOnly="True" Visible="False" VisibleIndex="0"><EditFormSettings Visible="False" /></dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn FieldName="Person_ID" VisibleIndex="1" Visible="False"><EditFormSettings Visible="False" /></dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataMemoColumn FieldName="Comment" VisibleIndex="2"
CellStyle-Wrap="True">
</dxwgv:GridViewDataMemoColumn>
<dxwgv:GridViewDataTextColumn FieldName="Employee" VisibleIndex="3"
Width="150px"><EditFormSettings Visible="False" /></dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataDateColumn FieldName="CreationDate" VisibleIndex="4"
Width="120px" >
<PropertiesDateEdit DisplayFormatString="dd/MM/yyyy HH:mm:ss">
</PropertiesDateEdit>
<EditFormSettings Visible="False" /></dxwgv:GridViewDataDateColumn>
<dxwgv:GridViewCommandColumn VisibleIndex="5" ButtonType="Image" Width="10px">
<CancelButton>
<Image Url="~/images/cancel.gif" />
</CancelButton>
<DeleteButton Visible="True">
<Image Url="~/images/delete.gif" />
</DeleteButton>
<UpdateButton Visible="True">
<Image Url="~/images/save.gif" />
</UpdateButton>
</dxwgv:GridViewCommandColumn>
</Columns>
</dxwgv:ASPxGridView>

Вот в чем суть проблемы:

Если выделенную гриде строку пытаемся редактировать кликая на соответствующую командную кнопку, а затем сохраняем внесенные изменения, закрывая всплывшую форму редактирования, соответствующая процедура "Comment_Update" отрабатывает без ошибок.
Если же эту строку пытаемся удалить, используя процедуру "Comment_Delete", выдается ошибка:

Procedure or function "Comment_Delete" expects parameter "@Person_ID" which was not supplied

Весь прикол в том, что для обоих процедур используется один и тот же сессионный параметр (выделен жирным в источнике), который в одном случае (update) без проблем считывается процедурой, а в другом (delete) почему-то не доходит до нее.

Не знаю на что грешить - на источник или на грид или на особенности DevExpress :(
Кто сталкивался с подобным эффектом? Подскажите в каком направлении рыть? Буду благодарен за помощь :)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не передается параметр в хранимую процедуру в sqldatasource / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]