从包含字符或字符串的表中检索记录

时间:2012-04-07 14:07:37

标签: asp.net sql sql-server

在我的表中,一些记录已存储在两列First_NameLast_Name中。

Ravi Kant | Sharma

Raj  | Kumar

Ravi | Anupam

Abhinav | Kumar

Ashish | Kumar

Avinash | a

Ravi | Anand

我的搜索文本框名称是txtName,其中我输入了ravi。现在,我正在使用查询

SELECT * FROM USER_INFO 
WHERE FIRST_NAME LIKE '%"& txtName.Text &"%' 
OR LAST_NAME LIKE '%"& txtName.Text &"%'

因此,它应该检索所有包含ravi的记录。

但是,它只返回名字为Ravi的表中的两行。但是,我希望它应该返回包含该字符的所有记录,这意味着它必须返回3行。

需要帮助!!

EDITED

"SELECT * FROM JOBS WHERE (JOB_DESCRIPTION LIKE '%" & keyword.Trim() & "%' OR JOB_SKILL LIKE '%" & keyword.Trim() & "%' OR JOB_QUALIFICATION LIKE '%" & keyword.Trim() & "%') AND JOB_ROLE='" & profile & "'"

这是我的查询,我想使用上述概念。

1 个答案:

答案 0 :(得分:1)

(虽然你的解决方案有SQL注入 - 就像我的朋友在这里说的那样.... [使用参数])

var myQuery=@"SELECT * FROM USER_INFO 
    WHERE FIRST_NAME LIKE '%"+txtName.Text.Trim() +@"%' 
    OR LAST_NAME LIKE '%"+txtName.Text.Trim() +"%'";

无SQlInjection ver :( SQL SERVER SIDE)

SELECT * FROM USER_INFO 
WHERE FIRST_NAME LIKE '%'+@txtName +'%' 
OR LAST_NAME LIKE '%'+@txtName +'%'

其中@ txtNamenvarchar(100) //或其他...