SqlDataSource多字搜索

时间:2016-04-19 23:03:40

标签: asp.net sql-server sql-server-2008

我有以下代码:

 <asp:SqlDataSource ID="SqlInvent" runat="server" ConnectionString="<%$ ConnectionStrings:InventConnectionString %>" FilterExpression="(descripcion LIKE '%{0}%') AND model LIKE '%{4}%' AND code_Item LIKE '%{1}%' AND desc_grupo LIKE '%{2}%' AND desc_brand2 LIKE '%{3}%'" 

SelectCommand="SELECT Brand.code_Item, Item_unidad.desc_unidad, Brand.descripcion, Item_grupo.desc_grupo, Item_tipo.Desc_tipo, Item_brand2.desc_brand2, Brand.model FROM Brand INNER JOIN Item_grupo ON Brand.grupo_art_id = Item_grupo.grupo_art_id INNER JOIN Item_brand2 ON Brand.brand2_id = Item_brand2.brand2_id INNER JOIN Item_tipo ON Brand.tipo_art_id = Item_tipo.tipo_art_id INNER JOIN Item_unidad ON Brand.unidad_id = Item_unidad.unidad_id">

<FilterParameters>
                                <asp:ControlParameter ControlID="txtSearch" ConvertEmptyStringToNull="false"  Name="descripcion" PropertyName="Text" />
                                <asp:ControlParameter ControlID="txtSearchCod" ConvertEmptyStringToNull="false" Name="searchcode" PropertyName="Text" />
                                <asp:ControlParameter ControlID="ddlSearchGrupo" ConvertEmptyStringToNull="false" Name="searchGrupo" />
                                <asp:ControlParameter ControlID="ddlSearchBrand2" ConvertEmptyStringToNull="false" Name="searchBrand2" />
                                <asp:ControlParameter ControlID="txtSearchMod" ConvertEmptyStringToNull="false" Name="searchModel" PropertyName="Text" />

                            </FilterParameters>
                        </asp:SqlDataSource>

它做了什么.. SQLDataSource填充了一个Gridview,其中每个项目有30个以上的项目,我有3个文本框和2个下拉列表,因此我可以搜索:描述,模型,代码,品牌和组

然而,由于我使用FilterExpression如下descripcion LIKE '%{0}%',它会在字符串的任何位置搜索确切的单词。

离。如果我在文本框中输入红牌,我会找到所有带有红牌的项目

1 red card bla bla

red card blabla

bla bla bla red card

我想要做的是分开这个单词,让我单独搜索所有具有红色的项目和所有具有卡片的项目或所有包含这两个单词的项目

red cake over the oven

a blue card deck

i have a card that is red

我想知道是否有任何方法可以用当前的方法来实现这个目标。我已经看到了其他问题,它们是相似的,但并没有真正接近我现在正在做的事情。

0 个答案:

没有答案