نوشته شده توسط
code_project
ممنوووون استاد صفای عزیز. اما من سرچ کامل میخوام. دقیقا همون آبی کابل که فرمودین!!! ممنون میشم کمکم کنید. از بقیه دوستان هم خیلی خیلی ممنونم
خواهش می کنم.
در این مرحله برای به دست آوردن رکوردهایی که کلمه "کابل" و "آبی" در ستون مثلا Field آنها وجود دارد بدون محدودیت نسبت به مکان و ترتیب کلمات، می توانید متن اصلی را با استفاده از متود Split به کلمات تجزیه کنید و در query قید کنید که تک تک کلمات باید در فیلد مورد نظر وجود داشته باشند. برای این کار می توانید از یک حلقه استفاده کنید. تقریبا به این صورت:
string query="select * from table where ";
foreach(string word in text)
query+="field like '%"+word+' and";
query=query.SubString(0,query.Length-3);
و یا:
var result=MyDataTable.Cast<DataRow>().Where(row=>{
foreach(string word in text.Split(" "))
if(!row["field"].ToString().Contains(word))
return false;
return true;}).ToArray();