【问题标题】:delete from gridview using stored procedure使用存储过程从gridview中删除
【发布时间】:2009-10-04 13:08:55
【问题描述】:

您好,我有一个gridview,链接到一个sqldatasource。我添加了一个从多个表中删除的存储过程,然后在 gridviews 智能标记上启用了删除。

当我单击删除按钮时,我收到一条错误消息,“对象必须实现 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数据源的delete参数中指定userid。一些代码将有助于阐明您的问题。
  • 谢谢。我已经添加了我的 SqlDataSource。如果使用存储过程,我可以在这里设置参数吗?

标签: vb.net sql-server-2005 gridview


【解决方案1】:

找到了答案,我只需从删除参数中删除Type="String"

【讨论】:

    猜你喜欢
    • 2021-09-17
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多