這幾天終于沒那么忙了,有空總結(jié)一下相關(guān)的資料,呵呵!
在很多項(xiàng)目中,特別是信息系統(tǒng),查詢功能占了項(xiàng)目的大部分;同時(shí)查詢條件的組合要求豐富,因此實(shí)現(xiàn)起來變得復(fù)雜。一般情況下,我們只會(huì)實(shí)現(xiàn)有限的條件查詢,如一個(gè)表的某幾個(gè)重要的字段或者甚至所有的字段;當(dāng)然,常規(guī)的情況下客戶是足夠用的,但一些高級(jí)的應(yīng)用,如((字段1>10) or (字段2=5)) and 字段3 is not null) 這種復(fù)雜的條件組合,就不一定適合了,通常如果是固定幾種組合模式,這樣我們還可以在后臺(tái)用語言(java、c#等)實(shí)現(xiàn),要是條件組合是動(dòng)態(tài)的,那么實(shí)現(xiàn)起來就相當(dāng)麻煩了。
因此為了實(shí)現(xiàn)動(dòng)態(tài)的條件組合,總結(jié)了之前一些項(xiàng)目經(jīng)驗(yàn),寫了一個(gè)高級(jí)組合查詢控件的原型,如下所示:

當(dāng)然生成的條件還不是所有數(shù)據(jù)庫(kù)都能通過,如oracle,他們?nèi)掌诓樵円笥胻o_date()轉(zhuǎn)換,但只要繼續(xù)擴(kuò)展就能實(shí)現(xiàn),呵呵;
下面的源碼:
highquery0.3.rar