Привет, у меня есть gridview, связанный с sqldatasource. Я добавил хранимую процедуру для удаления из нескольких таблиц, а затем включил удаление на смарт-теге gridviews.удалить из gridview с помощью хранимой процедуры
Когда я нажимаю кнопку удаления, я получаю сообщение об ошибке: «Объект должен реализовывать IConvertible». Я читал, что проблема заключается в передаче параметра хранимой процедуре, возможно, при передаче неправильного типа данных. Я не уверен, что я передаю параметр хранимой процедуре вообще. Параметр должен быть gridviews datakeyname, в этом случае это «UserId».
Хранимая процедура работает я прекрасно в студии управления, поэтому я думаю, что это просто параметр передается (или, возможно, не прошел)
ли я иметь код параметра в коде, чтобы быть передан хранимая процедура?
<asp:SqlDataSource ID="selectUsers" runat="server" ConnectionString="<%$ ConnectionStrings:CASSFConnectionString %>"
SelectCommand="SELECT aspnet_Membership.UserId, aspnet_Membership.IsLockedOut, aspnet_Membership.Email, aspnet_Membership.CreateDate, aspnet_Membership.LastLoginDate, aspnet_Membership.LastPasswordChangedDate, aspnet_Profile.PropertyValuesString, aspnet_Users.UserName, aspnet_Membership.IsApproved FROM aspnet_Membership INNER JOIN aspnet_Profile ON aspnet_Membership.UserId = aspnet_Profile.UserId INNER JOIN aspnet_Users ON aspnet_Membership.UserId = aspnet_Users.UserId AND aspnet_Profile.UserId = aspnet_Users.UserId WHERE (CONVERT (nvarchar(256), aspnet_Profile.PropertyValuesString) = @district)"
DeleteCommand="DeleteUsers" DeleteCommandType="StoredProcedure" UpdateCommand="UPDATE [aspnet_Membership] SET [IsApproved] = @IsApproved, [Email] = @email, [IsLockedOut] = @IsLockedOut WHERE [aspnet_Membership].[UserId] = @UserID">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="district" PropertyName="SelectedValue" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="UserId" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="IsApproved" />
<asp:Parameter Name="email" />
<asp:Parameter Name="IsLockedOut" />
<asp:Parameter Name="UserID" />
</UpdateParameters>
</asp:SqlDataSource>
Вы должны указать идентификатор пользователя в параметрах удаления вашего источника данных sql. Некоторый код поможет осветить вашу проблему. – Phaedrus
Спасибо. Я добавил свой SqlDataSource. Могу ли я установить этот параметр здесь, если вы используете хранимую процедуру. – Tones