我有一個基於查詢字符串中傳遞的值列出表中產品的頁面。
例如: - ABC/product.aspx/SUBCAT =移動& BND =三星
這將顯示所有的移動與三星品牌
我怎麼能展示品牌的所有移動,不論是否BND是空或沒有通過即只有subcat值通過。
我需要SqlDataSource命令來做同樣的事情。我目前的查詢,如下圖所示:如果查詢字符串中的一個字段爲空且字符串格式爲其中的字符串格式,則返回表中的所有值
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:shoppingConnectionString2 %>"
SelectCommand="SELECT * FROM [ProductDetails] WHERE (([Sub_category] = @Sub_category) AND ([Brand] = @Brand OR @Brand IS NULL))"
onselecting="SqlDataSource1_Selecting">
<SelectParameters>
<asp:QueryStringParameter Name="Sub_category" QueryStringField="subcat"
Type="String" DefaultValue="" "" />
<asp:QueryStringParameter Name="Brand" QueryStringField="bnd" Type="String"
DefaultValue="IS NULL" ConvertEmptyStringToNull="True" />
</SelectParameters>
</asp:SqlDataSource>
只需檢查sql命令的參數,它會更清潔。它會讓你免於編寫複雜的sql命令,並相應地改變你的命令 – simsim