我在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? 怎么做?
答案 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