大家好,才是真的好。
今天我们讲点开发。
NotesQueryResultsProcessor(简称QRP)是Domino Designer 12.0版本中的新特性,你可以理解它是一个查询结果,用代码生成,使用完毕之后会自动抛弃。
这样的好处就是不会在某些特定的查询情况下,要求管理员或开发人员新建一个Notes视图,这是一种用后即抛视图,不仅可以满足查询功能,而且可以提高我们数据库访问性能,更可以跨库访问和查询等。
即可以从一个或多个Notes数据库中查询所需要的文档结果,如下图所示:

如果需要,QRP查询后的结果,还可以生成视图(默认会在一段时间内自动删除),或者你需要的JSON数据,如下图:

QRP的主要方法有AddCollection、AddColumn、AddDominoQuery、AddFormula、、ExecuteToJSON、ExecuteToView等;如果要使用该类,必须要先使用AddCollection添加数据集合,然后使用AddColumn添加至少一个列对象,最后可以执行ExecuteToJSON(将结果转换为JSON)或ExecuteToView(将结果生成视图)方法。
比如我们在BBS应用中,新建一个LS代理程序,如下图:

撰写如下代码:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim qrp As NotesQueryResultsProcessor
Dim jn As NotesJSONNavigator
Set db=session.Currentdatabase
Set qrp = db.Createqueryresultsprocessor()
'将当前数据库中所有文档都存放到查询结果里
Call qrp.Addcollection(db.Alldocuments, "res_01")
'文档中包含Subject字段,我们这里添加一个Subject列
Call qrp.Addcolumn("Subject","","",SORT_ASCENDING,False,FALSE)
Set jn=qrp.Executetojson()
MsgBox jn.Stringify()
然后我们在Notes前端进行执行:

就可以看到转换为JSON数据的结果:

是不是非常简单实用?
今天我们就介绍到这里。更多文章可关注微信公号:协作者