论坛首页> 三共建设

多查询条件的使用建议

以井数据查询为例,在实现筛选输入多口井获取所有分层名的功能时,函数的声明如下所示:

NStatus getPublicTopsByWells(shared_ptr<bo::BOProject> pprj, vector<string>& wells, vector<string>& tops, string strFormationName = "");

通常情况下作为输入值的参数wells是有多个值的,在使用条件查询BAQuery时,一般可以使用或运算进行查找,如下:

BAQuery q;

BAWellFormationDJointQables wfq;

for (auto w : wells)

{

q = q || wfq.m_baWellQables.name == w;

}

为了简化,推荐使用下面方式:

q = wfq.m_baWellQables.name.in(wells);

这里采用 in 来实现多条件查询。

全部回复

暂无更多回复内容