< Indietro | Avanti >

Creazione di una query

Per comporre una query creare un oggetto QueryDef richiamando il metodo BuildQuery dell'oggetto Session.
Una query consiste di un elenco di campi per un dato tipo di record per cui si desidera richiamare i valori. I record vengono restituiti in un oggetto ResultSet. La query restituisce i campi richiesti per tutti i record di un dato tipo. È quindi possibile iterare sulle serie di risultati ed elaborare i dati.

La creazione di una query può richiedere la creazione di almeno tre oggetti separati: un oggetto QueryDef, un QueryFilterNode e un ResultSet. Le query più complesse possono anche comportare la creazione di ulteriori oggetti QueryFilterNode.

Per creare una query semplice, effettuare quanto segue:

  1. Comporre una query utilizzando l'oggetto QueryDef per specificare i dati da richiamare. L'oggetto QueryDef contiene la definizione di una query per un database Rational ClearQuest. Dopo la creazione di un QueryDef, è possibile utilizzarlo per ottenere informazioni dal database. Per creare tale oggetto, utilizzare il metodo BuildQuery dell'oggetto Session.
  2. Utilizzare i metodi di QueryDef per aggiungere criteri di ricerca e per specificare i campi di ogni record che si desidera vengano restituiti dalla query.
  3. Creare un oggetto ResultSet per contenere i dati restituiti. Per creare tale oggetto, richiamare il metodo BuildResultSet dell'oggetto Session. Durante la creazione, l'oggetto ResultSet crea una serie di strutture di dati interne utilizzando le informazioni nell'oggetto QueryDef come modello. Quando viene eseguita la query, l'oggetto ResultSet immette in queste strutture di dati i dati provenienti dalla query.
  4. Eseguire la query richiamando il metodo Execute o ExecuteAndCountRecords dell'oggetto ResultSet. Se si richiama uno di questi due metodi, la serie di risultati viene riempita con i dati raccolti dal database.
  5. Accedere ai dati iterando attraverso l'oggetto ResultSet e utilizzando altri metodi dell'oggetto ResultSet per ottenere informazioni sui campi di un record.
Invece di restituire l'intero record, una query restituisce solo i campi del record specificati, se si richiama il metodo BuildField dell'oggetto QueryDef. Il metodo Execute non restituisce i risultati in un particolare ordine. Perciò, l'oggetto ResultSet utilizza un sistema basato sul cursore per consentire al codice di spostarsi attraverso i record, uno ad uno.
< Indietro | Avanti >

Feedback