BuildFilterOperator

설명

지정된 부울 연산자를 포함하는 중첩된 QueryFilterNode 오브젝트를 작성합니다.

이 메소드는 조회 표현식에 중첩된 노드(또는 서브노드)를 작성합니다. 새로 작성된 노드는 노드 매개변수에 지정된 QueryFilterNode 오브젝트의 필터와 같은 레벨에서 동작하며 같은 조건이 적용됩니다. 다른 노드에서와 마찬가지로, BuildFilter 메소드를 사용하여 필터를 새로 작성된 노드에 추가할 수 있습니다.

구문

VBScript

node.BuildFilterOperator bool_operator 

Perl

$node->BuildFilterOperator(bool_operator); 
ID
설명
node
새로 작성된 노드가 첨부될 QueryFilterNode 오브젝트입니다.
bool_operator
값이 BoolOp 열거 상수 중 하나인 Long입니다.
Return value
새로 작성된 QueryFilterNode 오브젝트입니다.

예제

VBScript

' query for (id in idRange) AND (submitter = jjones OR clopez OR kwong)

Set qdef = sessionObj.BuildQuery("Defect")

qdef.BuildField ("id")

qdef.BuildField ("headline")

'Here is the root operator

Set filterNode1 = qdef.BuildFilterOperator(AD_BOOL_OP_AND)

Dim idRange(1) ' This sets up an array of two elements 
 
idRange(0) = "SAMPL00000055"

idRange(1) = "SAMPL00000057"

filterNode1.BuildFilter "id", AD_COMP_OP_IN, idRange

'Here is the subnode operator

Set filterNode2 = filterNode1.BuildFilterOperator(AD_BOOL_OP_OR)

filterNode2.BuildFilter "submitter", AD_COMP_OP_EQ, "jjones"

filterNode2.BuildFilter "submitter", AD_COMP_OP_EQ, "clopez"

filterNode2.BuildFilter "submitter", AD_COMP_OP_EQ, "kwong" 

Perl

# query for (Owner = jsmith) AND (state = closed)
@owner = ("jsmith");

@state = ("closed");

$queryDef = $CQSession->BuildQuery("Defect");

@dbfields = ("ID","State","Headline");

foreach $field (@dbfields) {

      $queryDef->BuildField($field);   

      }

$FilterNode1 = $queryDef->BuildFilterOperator($CQPerlExt::CQ_BOOL_OP_AND);

$FilterNode1->BuildFilter("Owner", $CQPerlExt::CQ_COMP_OP_EQ, \@owner);

$FilterNode1->BuildFilter("State", $CQPerlExt::CQ_COMP_OP_NOT_IN, \@state);



$resultSet = $CQsession->BuildResultSet($queryDef);

$resultSet->Execute;

$num_columns = $resultSet->GetNumberOfColumns; 

피드백