沒時間做,給出一種方案:
1、初始化SqlCommand、SqlConnection,獲取數據表至DataTable,查詢多次,本地緩沖,效率高點。
2、關鍵字分割網站推廣為一維字符串數組keys[],n個關鍵字,用兩個函數求出1至n個關鍵詞的全部組合,由于m個關鍵字的組合可能若干種,每種都是一個二維數組(每行是一個組合),所以存至三維交錯數組,方法如下:
string[][][] allKeys=new string[n][][]();
void fun1()
{
for(int i=0;i<keys.Length;i++)
{
fun2(i);
}
}
void fun2(int m)
{
對n個關鍵詞求m個的組合,自己編寫,記得要初始化allKeys的**、三維。
}
3、利用上述三維字符數組,從n到1個關鍵詞的順序,構網站關鍵詞排名造like子句(n 乘以 n中取m個組合數 個子句)。
4、定義DataTable的DataView,一次設置其RowFilter屬性為上述有序的
like子句
***********************************************************
補充:
求固定位的組合。下面是一種用遞歸的做法:
int mt=m;
int k=n!/m!;//n中取m的組合數,不會再要求我寫求n!的程序了吧?
allKeys[mt]=new string[k][]();
allKeys[mt][k]=new string[mt]();
以上是本問題必要的初始化。下面求n中取m的一個組合。
void combination(int n,int m)
{
int i;
for (i = n; i >= m; --i) {
allKeys[mt][k][m]=keys[i];
if (m > 0)
combination(i-1,m-1);
else
return;
}
}
更好的方法工作人員團隊扶持 你們搞到的不**是網頁,而是本公司全面研發(fā)工作員工團隊的撐持。各位朋友不要求有那么多的專業(yè)的網絡平臺技術從網站設計到長期關注服務都為全部操作服務。SQL多個關鍵字模糊查詢(同一字段中)如何讓盡量多的關鍵字相匹配我企業(yè)六年網站推廣經驗豐富同時積累了更多的網絡推廣專注與技術,網站推廣本公司擁有一支 鍥而不舍 、百折不回、敢于創(chuàng)新、業(yè)精于勤、行成于思、自強不息 , 同心同德 、兢兢業(yè)業(yè)、的團隊。公司的制作網站得注重我們本身高科技的顧客大眾 利用各類表面和用戶維持溝通、吸收著我們自身的客戶長期地和企業(yè)網頁實施彼此了解也許起到廣而告之的見效。