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

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