BuildFilter

Description

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 l'interrogazione viene eseguita, il valore nel campo viene confrontato con il valore specificato utilizzando il determinato operatore di confronto. Il confronto restituisce un valore Boolean, che il nodo utilizza nel proprio confronto Boolean.

L'argomento del valore è un riferimento Perl o Variant Visual Basic a un vettore di stringhe per consentire di specificare un vettore di valori se appropriato. Ad esempio, se si desiderava trovare i difetti inoltrati tra il 1 dicembre e il 15 dicembre 2000, era necessario costruire il seguente filtro:

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

Consultare anche l'esempio specificato per il metodo BuildFilterOperator di QueryDef.

Le espressioni dell'interrogazione 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 l'interrogazione è stata basata.

Sintassi

VBScript

node.BuildFilter field_name, comparison_operator, value 

Perl

$node->BuildFilter(field_name, comparison_operator, value); 
Identificativo
Description
node
Un oggetto QueryFilterNode, che rappresenta un nodo nell'espressione dell'interrogazione.
field_name
Un valore String che contiene il nome del campo valido in Oggetto EntityDef sul quale è basato l'Oggetto QueryDef corrente.
comparison_operator
Un valore Long il cui valore è una delle costanti di enumerazione CompOp.
value
Il valore che si desidera trovare nel campo specificato.

In Visual Basic, specificare il valore come Variant o vettore Variant.

In Perl, specificare il valore come riferimento a una stringa o un vettore di stringhe.

Valore di ritorno
Nessuno.

Esempi

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); 


Feedback