BuildFilter

설명

비교 피연산자를 노드에 추가합니다.

이 메소드에 의해 작성되는 피연산자는 필드 이름, 비교 연산자 및 값으로 구성됩니다. 조회가 실행될 때 필드의 값은 제공된 비교 연산자를 사용하여 지정된 값과 비교됩니다. 비교의 결과, 노드가 자체 부울 연산에서 사용하는 부울 값이 나옵니다.

값 인수는 적절할 때 값의 배열을 지정할 수 있도록 해주는 Visual Basic Variant 또는 문자열 배열에 대한 Perl 참조입니다. 예를 들어, 2000년 12월 1일과 12월 15일 사이에 제출된 결함을 찾으려는 경우 다음 필터를 작성할 수 있습니다.

@dateRange = ("2000-12-01", "2000-12-15"); $node->BuildFilter("submit_date", $CQPerlExt::CQ_COMP_OP_BETWEEN, \@dateRange);

QueryDef의 BuildFilterOperator 메소드에 대한 예제도 참조하십시오.

조회 표현식은 2진 트리로 제한됩니다. 이 메소드는 특정 QueryFilterNode 오브젝트에 대해 원하는 횟수만큼 호출할 수 있습니다.

field_name argument에 대한 올바른 값을 얻으려면 조회가 기반으로 하는 EntityDef 오브젝트의 GetFieldDefNames 메소드를 호출하십시오.

구문

VBScript

node.BuildFilter field_name, comparison_operator, value 

Perl

$node->BuildFilter(field_name, comparison_operator, value); 
ID
설명
node
조회 표현식의 한 노드를 나타내는 QueryFilterNode 오브젝트입니다.
field_name
현재 QueryDef 오브젝트가 기반으로 하는 EntityDef 오브젝트의 올바른 필드 이름이 포함된 문자열입니다.
comparison_operator
값이 CompOp 열거 상수 중 하나인 Long입니다.
value
지정된 필드에서 찾으려고 하는 값입니다.

Visual Basic에서는 값을 Variant 또는 Variant 배열로 지정합니다.

Perl에서는 값을 문자열 또는 문자열 배열에 대한 참조로 지정합니다.

Return value
없음

예제

VBScript

Dim dateRange
ReDim dateRange(1) ' This sets up a two element array
dateRange(0) = "2000-12-01" 
dateRange(1) = "2000-12-15" 
node.BuildFilter "submit_date", AD_COMP_OP_BETWEEN, dateRange 

Perl

#Example1

@dateRange = ("2000-12-01", "2000-12-15"); 
$node->BuildFilter("submit_date", $CQPerlExt::CQ_COMP_OP_BETWEEN,
       \@dateRange); 
#Example2

@owner = ("jsmith");

@state = ("closed");

$queryDef = $CQsession->BuildQuery("defect");

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

foreach $field (@dbfields) {

   $queryDef->BuildField($field);   

   }

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

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

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


피드백