< Indietro | Avanti >

Come ordinare una serie di risultati

È possibile utilizzare i metodi dell'oggetto QueryFieldDef per specificare la sequenza di ordinamento di una serie di risultati.
Utilizzare i metodi dell'oggetto QueryFieldDef per impostare:

Esempio

L'esempio che segue imposta la sequenza di ordinamento sul campo id e il tipo di ordinamento su crescente.

use CQPerlExt; 
#Avviare una sessione Rational ClearQuest 
$SessionObj = CQSession::Build(); 
$dbsetname = "CQMS.SAMPL.HOME"; 
#Aggiornare l'elenco di database accessibili 
$databases = $SessionObj->GetAccessibleDatabases("MASTR", "", $dbsetname); 

#Accedere a un database 
$SessionObj->UserLogon("admin","","SAMPL",$dbsetname); 

#Creare una query 
$querydef = $SessionObj->BuildQuery("defect"); 
$querydef->BuildField("id"); 
$querydef->BuildField("headline"); 
$querydef->BuildField("owner.login_name"); 
$querydef->BuildField("submit_date"); 
#Creare l'oggetto queryfilternode: 
# dove (stato non tra AND (id = 1 OR id = 2)) 
$where = $querydef->BuildFilterOperator($CQPerlExt::CQ_BOOL_OP_AND); 
@states = ("closed"); 
$where->BuildFilter("state", $CQPerlExt::CQ_COMP_OP_NEQ, \@states); 
$subor = $where->BuildFilterOperator($CQPerlExt::CQ_BOOL_OP_OR); 
@id1 = ("SAMPL00000001"); 
$subor->BuildFilter("id", $CQPerlExt::CQ_COMP_OP_EQ, \@id1); 
@id2 = ("SAMPL00000002"); 
$subor->BuildFilter("id", $CQPerlExt::CQ_COMP_OP_EQ, \@id2); 


# Chiamare la raccolta di oggetti QueryFieldDef 
$queryfielddefs = $querydef->GetQueryFieldDefs(); 
# Selezionare il campo id e impostare tipo e sequenza di ordinamento 
$idfield = $queryfielddefs->ItemByName("id"); 
$idfield->SetSortType($CQPerlExt::CQ_SORT_DESC); 
# nel caso di più colonne da ordinare, indica quale ha la precedenza: 
$idfield->SetSortOrder(1); 
# Selezionare il campo submit_date e impostare la funzione settimana 
$datefield = $queryfielddefs->ItemByName("submit_date"); 
$datefield->SetFunction($CQPerlExt::CQ_DB_WEEK_FUNC); 
$resultset = $SessionObj->BuildResultSet($querydef); 


$ct = $resultset->ExecuteAndCountRecords(); 
for ($i = 0; $i < $ct; $i++) { 
$resultset->MoveNext(); 
print $resultset->GetColumnValue(1); 
print " "; 
print $resultset->GetColumnValue(2); 
print " "; 
print $resultset->GetColumnValue(3); 
print " "; 
print $resultset->GetColumnValue(4); 
print "\n"; 
} 
CQSession::Unbuild($SessionObj); 
< Indietro | Avanti >

Feedback