首页 > 解决方案 > 从数据库中进行关键字搜索编程?

问题描述

您好,我有一个包含以下列的表格。

Profile_ID,
Name,
Age,
More_Info_about family,
qualification details, 
job details and 
partner_preference

我必须在关键字的基础上进行搜索,并且关键字是从文本框中获取的。

搜索结果应该是这样的,即如果关键字出现在任何列的句子的开头、结尾和中间,则出现在 where 条件中。

我尝试了 LIKE '" + txtbox_keyword.Text + "' 但无法正常工作,如果在句子之间存在 keyowrd,则不会搜索数据。

select (Profile_ID,Name,Age, More_info_about_family,Job_Business_Location_City,Salary 
from tblRegistration  
WHERE More_info_about_family LIKE '" + txtbox_keyword.Text + "' 
   OR LIKE '" + txtbox_keyword.Text + "' 
   OR origin LIKE '" + txtbox_keyword.Text + "' 
   OR Job_Detail LIKE '" + txtbox_keyword.Text + "' ", con);

标签: c#sql

解决方案


使用 sqlParameter 进行除 sql 注入外,您需要在查询中添加 %% 以按字段搜索。

SqlParameter parameter = new SqlParameter("@keyWord",txtbox_keyword.Text);

select (Profile_ID,Name,Age, More_info_about_family,Job_Business_Location_City,Salary 
from tblRegistration  
WHERE More_info_about_family LIKE '%@keyWord%' 
   OR LIKE '%@keyWord%' 
   OR origin LIKE '%@keyWord%' 
   OR Job_Detail LIKE '%@keyWord%', con,parameter);

推荐阅读