搜索表

时间:2015-10-24 06:11:19

标签: c# .net sql-server visual-studio datagridview

tbl_Person

的数据库设计

enter image description here

我在gridview上显示了它,我有一个只搜索LastName的搜索文本框。现在,我的问题是,是否可以仅使用一个文本框搜索LastNameFirstNameMiddleName?当我搜索LastName时,它会根据数据库数据删除建议。

我的搜索查询

SELECT * 
FROM tbl_Person 
WHERE textSearch LIKE '%LastName%'

现在,如果我的问题的答案是肯定的。如何在查询中插入FirstNameMiddleName

3 个答案:

答案 0 :(得分:0)

可以搜索所有条件,如名字,中间名和姓氏 像这样

SELECT * 
FROM tbl_Person 
WHERE 
    FirstName LIKE '%textSearch%' 
    OR MiddleName LIKE '%textSearch%' 
    OR LastName LIKE '%textSearch%'

答案 1 :(得分:0)

尝试在数据库服务器上创建以下给定的存储过程,并从您的应用程序中调用它。希望它能为您提供所需的输出。

CREATE PROC uspSearchByName
@name varchar(10)
AS
BEGIN
   SELECT * FROM  tbl_Person WHERE (FirstName LIKE '%' + @name + '%') OR (LastName LIKE '%' + @name + '%') OR (FirstName + ' ' + LastName LIKE '%' +  @name + '%')
END

答案 2 :(得分:0)

获得"第一","中"和"姓氏":

string[] stringArray = textBox.Text.Split(' ');

循环遍历字符串并将每个字符串[i]传递给查询:

SELECT * 
FROM tbl_Person 
WHERE textSearch LIKE '%PositionString0%' AND textSearch LIKE '%PositionString1%'