Añade un operando de comparación al nodo.
El operando que crea este método consta de un nombre de campo, un operador de comparación y un valor. Cuando se ejecuta la consulta, el valor del campo se compara con el valor especificado utilizando el operador de comparación dado. La comparación produce un valor Boolean, y el nodo lo utiliza en su propia comparación Boolean.
El argumento de valor es un Variant de Visual Basic o una referencia de Perl a una matriz de series que le permiten especificar una matriz de valores cuando sea necesario. Por ejemplo, si deseara buscar los defectos enviados entre el 1 y el 15 de diciembre de 2000, podría construir el filtro siguiente:
@dateRange = ("2000-12-01", "2000-12-15"); $node->BuildFilter("submit_date", $CQPerlExt::CQ_COMP_OP_BETWEEN, \@dateRange);
Consulte también el ejemplo que se proporciona para el método BuildFilterOperator de QueryDef.
Las expresiones de consulta no se limitan a ser árboles binarios; puede llamar a este método tantas veces como desee para un objeto QueryFilterNode determinado.
Para obtener valores válidos para el argumento nombre_campo, llame al método GetFieldDefNames del objeto EntityDef en el que se basa la consulta.
VBScript
node.BuildFilter nombre_campo, operador_comparación, valor
Perl
$node->BuildFilter(nombre_campo, operador_comparación, valor);
En Visual Basic, especifique el valor como un Variant o matriz Variant.
En Perl, especifique el valor como una referencia a una serie o una matriz de series.
VBScript
Dim dateRange ReDim dateRange(1) ' Establece un matriz de dos elementos dateRange(0) = "2000-12-01" dateRange(1) = "2000-12-15" node.BuildFilter "submit_date", AD_COMP_OP_BETWEEN, dateRange
Perl
#Ejemplo 1
@dateRange = ("2000-12-01", "2000-12-15");
$node->BuildFilter("submit_date", $CQPerlExt::CQ_COMP_OP_BETWEEN,
\@dateRange);
#Ejemplo 2
@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);