添加未使用的SelectParameter会使查询停止工作

时间:2013-07-01 19:10:59

标签: c# asp.net .net ado.net

我有一个正常工作的数据源:

<asp:SqlDataSource ID="SqlDataSource4" runat="server"
    ConnectionString="<%$ ConnectionStrings:ApplicationServices %>" 
    SelectCommand="SELECT [NonScrumStory].[IncidentNumber], [NonScrumStory].[Description], [NonScrumStory].[CreatedDate], [DailyTaskHours].[Hours], [Application].[AppName], [SupportCatagory].[Catagory] FROM [NonScrumStory], [DailyTaskHours], [Application], [SupportCatagory] WHERE ([NonScrumStory].[UserId] = @userIdSelected) AND ([NonScrumStory].[PK_NonScrumStory] = [DailyTaskHours].[NonScrumStoryId]) AND ([NonScrumStory].[CatagoryId] = [SupportCatagory].[PK_SupportCatagory]) AND ([NonScrumStory].[ApplicationId] = [Application].[PK_Application])">
    <SelectParameters>
        <asp:QueryStringParameter Name="userIdSelected" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

这是向gridview显示数据。

当我添加另一个选择参数时:

<SelectParameters>
    <asp:QueryStringParameter Name="userIdSelected" Type="String" />
    <asp:QueryStringParameter Name="test" Type="String" />
</SelectParameters>

gridview不再显示任何内容......

我做错了什么?

如果重要的话,我将使用DeleteCommand查询语句的下一个参数。

1 个答案:

答案 0 :(得分:1)

它失败了,因为它不是SelectCommand的一部分。像这样修改你的标记:

<SelectParameters>
    <asp:QueryStringParameter Name="userIdSelected" Type="String" />
</SelectParameters>

<DeleteParameters>
    <asp:QueryStringParameter Name="userIdSelected" Type="String" />
    <asp:QueryStringParameter Name="test" Type="String" />
</DeleteParameters>

根据您的问题,我不知道您是否在userIdSelected中使用DeleteCommand,因此请相应地修改标记。