1

我的 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”,结果是“No data found”??

合并两列返回null??怎么做?

4

1 回答 1

2

试试这个 SQL:

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

连接 2 列(FirstName+LastName之间有一个空格' ')然后搜索全名将为您提供George Santos数据库中提供的匹配项。:)

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

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

这是一个SQLFiddle测试:http ://sqlfiddle.com/#!6/ae63a/6

于 2013-01-06T06:11:41.473 回答