BuildFilterOperator

Descrizione

Crea un Oggetto QueryFilterNode nidificato che contiene l'operatore booleano specificato.

Questo metodo crea un nodo nidificato (o nodo secondario) nell'espressione della query. Il nodo appena creato funziona nello stesso livello dei filtri nell'oggetto QueryFilterNode specificato nel parametro del nodo ed è soggetto alle stesse condizioni. È possibile aggiungere filtri al nodo appena creato utilizzando il metodo BuildFilter come per gli altri nodi.

Sintassi

VBScript

node.BuildFilterOperator bool_operator 

Perl

$node->BuildFilterOperator(bool_operator); 
Identificativo
Descrizione
node
L'oggetto QueryFilterNode al quale il nodo appena creato verrà allegato.
bool_operator
Un valore Long il cui valore è una delle costanti di enumerazione BoolOp.
Valore di ritorno
L'oggetto QueryFilterNode appena creato.

Esempi

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; 

Feedback