毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 企业开发 >> 正文

lotus代理搜索文档结果如何指定排序

更新时间:2013-11-12:  来源:毕业论文

Dim vc As NotesDocumentCollection Dim view As NotesView Set view = db.GetView("视图名") Dim formula As String   '对nsf数据库中的文档的搜索主要有以下几种方式: formula = {Form = "mainform" & sys_SoftDelete != "1"} db.Search(formula,Nothing,0) formula = { FIELD Form Contains mainform and not Field sys_SoftDelete  Contains "1"}  vc.Ftsearch(formula, 0)  vc = view.GetAllDocumentsByKey(SearchKey,true)  vc = view.GetAllEntriesByKey(SearchKey ,True)

其中GetAllDocumentsByKey和GetAllEntriesByKey依赖于视图,GetAllDocumentsByKey搜索结果不保留视图的排序,GetAllEntriesByKey搜索结果保留视图的排序。
但实际应用中模糊搜索比按指定个数的关键字搜索更常用到,比如:列出一堆输入框,输入值非空时才算一个搜索条件,为空时忽略。但是db.Search和vc.Ftsearch的搜索结果都不能按指定n个域来排序,这让我灰常纠结
网上搜了下,有个方法说是把搜索结果放进一个已设计好排序的文件夹,然后再输出。这个方法倒是能有序输出,但文件夹要先建好,搜索一次并输出后不能删了文件夹,否则下一次运行LS代理就没有这个排好序的文件夹;但如果不删文件夹,搜索很多次以后,文件夹里的文档就越来越多了,就输出了不符合当前搜索条件的以前搜出来的文档,肿么办?
我现在灰常想写SQL语句select * from tablename order by 1 asc,2 desc,3 怎么破

有几种办法:
1. 同楼上用LS排序。
2. 利用NotesViewEntryCollection。仅Domino R8以上有效。

 Dim vec As NotesViewEntryCollection set vec=view.AllEntries set vc=db.search(....) Call vec.Intersect(vc)

vec是保留视图排序的搜索结果。
3. 输出的结果做成表格用javascript排序,jquery有很多现成排序插件,可以把每一列都做成点击升序或降序的。不要这么说,毕竟每个系统都有其擅长的部分。如果你的database不需要full text index的话删掉database的index,然后用notesView.FTSearch,搜索结果和view的排序就一样了。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。