搜索框结合两列(搜索页面)ASP.NET

时间:2013-01-06 06:05:49

标签: asp.net sql ms-access textbox expression

我在search.aspx页面(搜索页面)中遇到了一些问题

这是我的代码:

<asp:AccessDataSource runat="server" ID="AccessDataSource1" DataFile="_private/records.mdb" SelectCommand="SELECT * FROM [DriversRecords] WHERE ([LastName] LIKE '%' + ? + '%') OR ([FirstName] LIKE '%' + ? + '%')">
   <SelectParameters>
   <asp:formparameter FormField="LastName1" Name="FirstName" Type="String" />
   <asp:formparameter FormField="LastName1" Name="LastName" Type="String" />
   </SelectParameters>
</asp:AccessDataSource>

当我在文本框中输入第一个名字时...当我输入姓氏时,它的工作方式相同。

但是,当我试图结合他们这样的我们时,我打算输入文本框:“George Santos”结果是“找不到数据”??

梳理两列返回null? 怎么做?

1 个答案:

答案 0 :(得分:2)

请尝试使用此SQL:

SELECT * FROM [DriversRecords] WHERE [FirstName]+' '+[LastName] LIKE '%' + ? + '%'

将两列(FirstName + LastName' '之间的单个空格连接起来然后搜索全名将为您提供匹配,前提{{1}在数据库中有。 :)

如果您想允许多种搜索方式,您也可以这样做:

George Santos

这是一个SELECT * FROM [DriversRecords] WHERE ([LastName] LIKE '%' + ? + '%') OR ([FirstName] LIKE '%' + ? + '%') OR ([FirstName]+' '+[LastName] LIKE '%' + ? + '%') 来测试一下:http://sqlfiddle.com/#!6/ae63a/6