Aggiunge un operando di confronto al nodo.
L'operando creato da questo metodo è composto da un nome campo, un operatore di confronto e da un valore. Quando la query viene eseguita, il valore nel campo viene confrontato con il valore specificato utilizzando il determinato operatore di confronto. Il confronto restituisce un valore booleano, che il nodo utilizza nel proprio confronto booleano.
@dateRange = ("2007-12-01", "2007-12-15");
$node->BuildFilter("submit_date", $CQPerlExt::CQ_COMP_OP_BETWEEN, \@dateRange);
$operator->BuildFilter("customer_priority", $CQPerlExt::CQ_COMP_OP_IS_NOT_NULL, [""]);
$operator->BuildFilter("customer_priority", $CQPerlExt::CQ_COMP_OP_IS_NULL, [""]);
Vedere anche l'esempio relativo al metodo BuildFilterOperator dell'oggetto QueryDef.
Le espressioni della query non sono limitate per essere strutture ad albero binarie; è possibile richiamare questo metodo tutte le volte che si desidera per un determinato oggetto QueryFilterNode.
Per ottenere valori validi per l'argomento field_name, richiamare il metodo GetFieldDefNames dell'oggetto EntityDef su cui era basata la query.
VBScript
node.BuildFilter field_name,comparison_operator,value
Perl
$node->BuildFilter(field_name, comparison_operator, value);
Per VBScript, specificare il valore come array Variant.
Per Perl, specificare il valore come riferimento ad una stringa o ad un array di stringhe.
VBScript
Dim dateRange
ReDim dateRange(1) ' This sets up a two element array
dateRange(0) = "2007-12-01"
dateRange(1) = "2007-12-15"
node.BuildFilter "submit_date", AD_COMP_OP_BETWEEN, dateRange
Perl
#Example1
@dateRange = ("2007-12-01", "2007-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);