【问题标题】:SelectCommand doesn't work when ControlParameter is not given未给出 ControlParameter 时 SelectCommand 不起作用
【发布时间】:2012-03-22 21:25:34
【问题描述】:

我有一个 id = txt_SearchLibrary 的文本框,这也是我用来过滤我的 sqldatasource 的控制参数,当我没有在我的搜索文本框中输入任何内容时,我想获得所有结果,但下面的代码结果为 0 行.我尝试了两种方法,但都没有工作。

第一个:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyDbConn %>"
            SelectCommand="SELECT * FROM [Books] WHERE ([BookName] LIKE '%' + @searchText + '%') OR  @searchText IS NULL">
    <SelectParameters>
        <asp:ControlParameter ControlID="txt_SearchLibrary" Name="searchText"
                    PropertyName="Text" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

第二个:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyDbConn %>"
            SelectCommand="SELECT * FROM [Books] WHERE ([BookName] LIKE '%' + @searchText + '%')">
    <SelectParameters>
        <asp:ControlParameter ControlID="txt_SearchLibrary" DefaultValue="" Name="searchText"
                    PropertyName="Text" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

【问题讨论】:

    标签: asp.net sqldatasource selectcommand controlparameter


    【解决方案1】:

    Text 属性可能是 "" 或 String.Empty,而不是您在 SQL 语句中检查的 NULL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多